Skip to content

Re-introduce 7.4 builds #83

Re-introduce 7.4 builds

Re-introduce 7.4 builds #83

Workflow file for this run

name: build
on:
push:
branches:
- "7.4"
paths:
- .github/workflows/build.yml
- bin/build-matrix.go
workflow_dispatch:
env:
GHCR_IMAGE: ghcr.io/emgag/php
GHCR_USER: emgag-service
CONTAINER_PLATFORMS: "linux/amd64,linux/arm64"
jobs:
matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.19.x
- name: Generate build matrix
id: matrix
run: go run bin/build-matrix.go
base:
strategy:
matrix: ${{fromJson(needs.matrix.outputs.matrix)}}
runs-on: ubuntu-latest
needs: [matrix]
steps:
- name: Checkout
uses: actions/checkout@v3
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to github docker registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build ${{ matrix.source }} image (${{ matrix.upstream}}{{ matrix.revision }}-${{ matrix.flavour }})
run: >
docker buildx build --pull --push
--build-arg VERSION=${{ matrix.upstream }}
--build-arg VERSION_MAJOR=${{ matrix.upstream_major }}
--build-arg VERSION_MINOR=${{ matrix.upstream_minor }}
--build-arg VERSION_PATCH=${{ matrix.upstream_patch }}
--build-arg FLAVOUR=${{ matrix.flavour }}
-t ${{ env.GHCR_IMAGE }}:${{ matrix.upstream }}${{ matrix.revision }}-${{ matrix.flavour }}
--platform ${{ env.CONTAINER_PLATFORMS }}
base
build:
strategy:
matrix: ${{fromJson(needs.matrix.outputs.matrix)}}
runs-on: ubuntu-latest
needs: [matrix, base]
steps:
- name: Checkout
uses: actions/checkout@v3
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to github docker registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build ${{ matrix.source }} image (${{ matrix.upstream}}{{ matrix.revision }}-${{ matrix.flavour }}-build)
run: >
docker buildx build --pull --push
--build-arg VERSION=${{ matrix.upstream }}${{ matrix.revision }}
--build-arg VERSION_MAJOR=${{ matrix.upstream_major }}
--build-arg VERSION_MINOR=${{ matrix.upstream_minor }}
--build-arg VERSION_PATCH=${{ matrix.upstream_patch }}
--build-arg FLAVOUR=${{ matrix.flavour }}
-t ${{ env.GHCR_IMAGE }}:${{ matrix.upstream }}${{ matrix.revision }}-${{ matrix.flavour }}-build
--platform ${{ env.CONTAINER_PLATFORMS }}
build
cron:
strategy:
matrix: ${{fromJson(needs.matrix.outputs.matrix)}}
runs-on: ubuntu-latest
needs: [matrix, base]
steps:
- name: Checkout
if: ${{ matrix.flavour == 'cli' }}
uses: actions/checkout@v3
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
if: ${{ matrix.flavour == 'cli' }}
uses: docker/setup-qemu-action@v2
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
if: ${{ matrix.flavour == 'cli' }}
uses: docker/setup-buildx-action@v2
- name: Login to github docker registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build cron image (${{ matrix.upstream}}{{ matrix.revision }}-cron)
if: ${{ matrix.flavour == 'cli' }}
run: >
docker buildx build --pull --push
--build-arg VERSION=${{ matrix.upstream }}${{ matrix.revision }}
--build-arg FLAVOUR=cli
-t ${{ env.GHCR_IMAGE }}:${{ matrix.upstream }}${{ matrix.revision }}-cron
--platform ${{ env.CONTAINER_PLATFORMS }}
cron