diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index e0dec88..c28b45e 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -7,17 +7,18 @@ on: workflow_dispatch: jobs: - build-and-push: + build-and-push-existing-registry: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: include: - name: web - image: git.lzstealth.com/lzstealth/pulse-signage-web + repository: pulse-signage-web dockerfile: ./build/Dockerfile - name: player - image: git.lzstealth.com/lzstealth/pulse-signage-player + repository: pulse-signage-player dockerfile: ./build/Dockerfile.player steps: @@ -27,7 +28,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - - name: Log in to container registry + - name: Log in to existing package registry uses: docker/login-action@v3 with: registry: git.lzstealth.com @@ -38,7 +39,56 @@ jobs: id: meta uses: docker/metadata-action@v5 with: - images: ${{ matrix.image }} + images: | + git.lzstealth.com/lzstealth/${{ matrix.repository }} + tags: | + type=raw,value=latest + type=ref,event=tag + type=semver,pattern=v{{major}} + type=semver,pattern=v{{major}}.{{minor}} + + - name: Build and push image + uses: docker/build-push-action@v6 + with: + context: . + file: ${{ matrix.dockerfile }} + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + build-and-push-ghcr: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + include: + - name: web + repository: pulse-signage-web + dockerfile: ./build/Dockerfile + - name: player + repository: pulse-signage-player + dockerfile: ./build/Dockerfile.player + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ secrets.GHCR_USERNAME }} + password: ${{ secrets.GHCR_TOKEN }} + + - name: Extract image metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ secrets.GHCR_NAMESPACE }}/${{ matrix.repository }} tags: | type=raw,value=latest type=ref,event=tag