name: Docker Images env: ctor_id: ${{ vars.DOCKER_ID }} ctor_url: https://github.com/${{github.repository}} on: push: branches: [master] workflow_dispatch: inputs: concurrency: group: ${{ github.ref }} cancel-in-progress: true jobs: base: uses: ./.github/workflows/docker_prime.yml with: id: ${{github.env.ctor_id}} url: ${{github.env.ctor_url}} features: '["base"]' distros: ${{vars.DOCKER_DISTROS}} machines: ${{vars.DOCKER_MACHINES}} test: ${{contains(github.events.push.commits[0].message, '[ci test]')}} full: uses: ./.github/workflows/docker_prime.yml needs: [base] with: id: ${{github.env.ctor_id}} url: ${{github.env.ctor_url}} features: '["full"]' distros: ${{vars.DOCKER_DISTROS}} machines: ${{vars.DOCKER_MACHINES}} test: ${{contains(github.events.push.commits[0].message, '[ci test]')}} built: needs: [base, full] runs-on: ${{matrix.machine}} strategy: fail-fast: false matrix: feature: ${{fromJSON(vars.DOCKER_FEATURES)}} distro: ${{fromJSON(vars.DOCKER_DISTROS)}} machine: ${{fromJSON(vars.DOCKER_MACHINES)}} toolchain: ${{fromJSON(vars.DOCKER_TOOLCHAINS)}} exclude: - distro: alpine-3.17 toolchain: gcc-10 # n/a on distro version - distro: alpine-3.17 toolchain: gcc-11 # n/a on distro version - distro: alpine-3.17 toolchain: clang-14 # n/a on distro version - distro: ubuntu-22.04 toolchain: clang-15 # n/a on distro version - machine: arm64 toolchain: gcc-12 # build hangs - machine: arm64 toolchain: gcc-11 # build hangs - machine: arm64 toolchain: gcc-10 # build hangs - machine: arm64 distro: alpine-3.17 toolchain: clang-14 # smoketest crash - machine: arm64 distro: alpine-3.17 toolchain: clang-15 # smoketest crash steps: - uses: actions/checkout@v3 - name: build env: ctor_features: ${{matrix.feature}} ctor_distros: ${{matrix.distro}} ctor_machines: ${{matrix.machine}} ctor_toolchains: ${{matrix.toolchain}} ctor_test: ${{contains(github.events.push.commits[0].message, '[ci test]')}} run: | docker/build-and-push-images.sh