name: wizarr-ci # main “code + Docker” pipeline on: push: branches: [ main ] paths-ignore: # skip pure-translation commits - 'app/translations/**' - .github/ workflow_dispatch: {} # manual run env: PYTHON_VERSION: '3.13' NODE_VERSION: '20' jobs: docker-dev: runs-on: ubuntu-24.04 permissions: contents: read packages: write steps: - uses: actions/checkout@v7 # ─────── Generate uv.lock for reproducible builds ─────── - name: Set up Python uses: actions/setup-python@v7 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install uv uses: astral-sh/setup-uv@v7 - name: Generate uv.lock run: uv lock # ─────── Docker bits ─────── - name: Log in to GHCR uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 - name: Build & push multi-arch :dev image uses: docker/build-push-action@v7 with: context: . push: true platforms: linux/amd64,linux/arm64 tags: ghcr.io/${{ github.repository_owner }}/wizarr:dev