auto-transcoder/.forgejo/workflows/build-and-publish.yml
Ben Martin 62fd20faa6
Some checks failed
Build and Publish Docker Images / setup (push) Failing after 42s
Build and Publish Docker Images / build (server.Dockerfile, ${{ vars.IMAGE_NAME_SERVER }}) (push) Has been skipped
Build and Publish Docker Images / build (worker.Dockerfile, ${{ vars.IMAGE_NAME_WORKER }}) (push) Has been skipped
chore(workflows): don't use cartesian product of docker files and image names.
2025-05-11 23:17:43 +01:00

57 lines
1.5 KiB
YAML

name: Build and Publish Docker Images
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
setup:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.get-git-context.outputs.branch }}
commit: ${{ steps.get-git-context.outputs.commit }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Get Git Context
id: get-git-context
uses: actions/github-script@v6
with:
script: |
const branch = github.ref.split('/').pop();
const commit = github.sha;
core.setOutput('branch', branch);
core.setOutput('commit', commit);
build:
needs: setup
runs-on: ubuntu-latest
strategy:
matrix:
include:
- dockerfile: worker.Dockerfile
image-name: ${{ vars.IMAGE_NAME_WORKER }}
- dockerfile: server.Dockerfile
image-name: ${{ vars.IMAGE_NAME_SERVER }}
steps:
- name: Build and Push Image
uses: docker/build-push-action@v6
with:
context: .
file: ${{ matrix.dockerfile }}
platforms: linux/amd64,linux/arm64
push: true
tags: |
git.brmartin.co.uk/${{ matrix.image-name }}:${{ needs.setup.outputs.branch }}
git.brmartin.co.uk/${{ matrix.image-name }}:${{ needs.setup.outputs.commit }}