name: Docker Ubuntu 22.04 branch image on: workflow_dispatch: push: branches-ignore: - master env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} jobs: build-and-push: runs-on: ubuntu-22.04 steps: - name: Check out repository uses: actions/checkout@v3 with: submodules: 'recursive' - name: Set up QEMU uses: docker/setup-qemu-action@v3.5.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.10.0 with: driver-opts: image=moby/buildkit:v0.11.0 - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and export to Docker uses: docker/build-push-action@v6 with: load: true context: ./ tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test - name: Test run: | docker run --rm -e "TEST=1" ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test - name: Get tag as branch name id: tag run: | echo "TAG=${GITHUB_REF##*/}" >> $GITHUB_OUTPUT - name: Build and push id: docker_build uses: docker/build-push-action@v6 with: platforms: linux/amd64,linux/arm64 push: true context: ./ tags: | ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.TAG }}