feat: native ARM64 builders #196
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Validate Debian | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| paths: | |
| - '**/bookworm/Dockerfile' | |
| - '**/bullseye/Dockerfile' | |
| - '**/buster/Dockerfile' | |
| - '**/slim-bookworm/Dockerfile' | |
| - '**/slim-bullseye/Dockerfile' | |
| - '**/slim-buster/Dockerfile' | |
| - '.github/workflows/debian.yml' | |
| # See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency. | |
| concurrency: | |
| group: ${{ github.head_ref }}-${{ github.workflow }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-smoke-test: | |
| timeout-minutes: 30 | |
| runs-on: ubuntu-24.04 | |
| name: ${{ matrix.ghc }}-${{ matrix.deb }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ghc: ['9.12.2', '9.10.2', '9.8.4', '9.6.7'] | |
| deb: ['bullseye', 'slim-bullseye'] | |
| include: | |
| - ghc: '9.12.2' | |
| ghc_minor: '9.12' | |
| deb: 'bookworm' | |
| - ghc: '9.12.2' | |
| ghc_minor: '9.12' | |
| deb: 'slim-bookworm' | |
| - ghc: '9.12.2' | |
| ghc_minor: '9.12' | |
| deb: 'bullseye' | |
| - ghc: '9.12.2' | |
| ghc_minor: '9.12' | |
| deb: 'slim-bullseye' | |
| - ghc: '9.10.2' | |
| ghc_minor: '9.10' | |
| - ghc: '9.8.4' | |
| ghc_minor: '9.8' | |
| - ghc: '9.6.7' | |
| ghc_minor: '9.6' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: build + smoke test [${{ matrix.ghc }}] | |
| uses: nick-invision/retry@v3.0.0 | |
| with: | |
| timeout_minutes: 8 | |
| max_attempts: 3 | |
| command: | | |
| docker build --pull \ | |
| -t haskell:${{ matrix.ghc }}-${{ matrix.deb }} \ | |
| ${{ matrix.ghc_minor }}/${{ matrix.deb }} \ | |
| --build-arg "BUILDKIT_DOCKERFILE_CHECK=skip=SecretsUsedInArgOrEnv;error=true" | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: docker-library/official-images | |
| path: official-images | |
| - name: run official-images tests | |
| run: ./official-images/test/run.sh haskell:${{ matrix.ghc }}-${{ matrix.deb }} | |
| arm64-tests: | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-24.04-arm | |
| name: arm64-${{ matrix.ghc }}-${{ matrix.deb }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ghc: ['9.6.7', '9.8.4', '9.10.2', '9.12.2'] | |
| # native arm runner; still avoid slim variants here | |
| deb: ['bullseye'] | |
| include: | |
| # bookworm (debian 12) | |
| - ghc: '9.12.2' | |
| ghc_minor: '9.12' | |
| deb: 'bookworm' | |
| # bullseye (debian 11) | |
| - ghc: '9.10.2' | |
| ghc_minor: '9.10' | |
| - ghc: '9.8.4' | |
| ghc_minor: '9.8' | |
| - ghc: '9.6.7' | |
| ghc_minor: '9.6' | |
| exclude: | |
| - ghc: '9.12.2' | |
| deb: 'bullseye' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: docker build and test [arm64 ${{ matrix.ghc }}] | |
| run: | | |
| docker build --pull --progress=plain \ | |
| -t haskell:${{ matrix.ghc }}-${{ matrix.deb }} \ | |
| ${{ matrix.ghc_minor }}/${{ matrix.deb }} \ | |
| --build-arg "BUILDKIT_DOCKERFILE_CHECK=skip=SecretsUsedInArgOrEnv;error=true" | |
| echo 'testing..' | |
| docker run \ | |
| -t haskell:${{ matrix.ghc }}-${{ matrix.deb }} \ | |
| bash -c "cabal update && cabal install --lib primitive" | |
| docker run \ | |
| -t haskell:${{ matrix.ghc }}-${{ matrix.deb }} \ | |
| bash -c "echo | ghci" | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: docker-library/official-images | |
| path: official-images | |
| - name: run official-images tests | |
| run: ./official-images/test/run.sh haskell:${{ matrix.ghc }}-${{ matrix.deb }} |