name: build apps on: push: branches: - master pull_request: branches: - master push: tags: - 'apps-*' workflow_dispatch: jobs: docker: name: apps:${{ matrix.app }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: app: - uptimekuma steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 ref: ${{ github.sha }} - name: Fix git sha256 negotiation (force newer object format compatibility) run: | git config --global protocol.version 2 git config --global transfer.fsckObjects false git config --global fetch.negotiationAlgorithm '' - name: Set registry image base run: | echo "REGISTRY_IMAGE=git.chillcog.com/yolks/apps" >> $GITHUB_ENV - name: Login to registry (tags only) if: startsWith(github.ref, 'refs/tags/') uses: docker/login-action@v3 with: registry: git.chillcog.com username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }} - name: Build uses: docker/build-push-action@v6 with: context: ./apps/${{ matrix.app }} file: ./apps/${{ matrix.app }}/Dockerfile platforms: linux/amd64,linux/arm64 push: ${{ startsWith(github.ref, 'refs/tags/') }} tags: | git.chillcog.com/yolks/apps:${{ matrix.app }} ${{ startsWith(github.ref, 'refs/tags/') && format('git.chillcog.com/yolks/apps:{0}', github.ref_name) || '' }}