[CI] Run some jobs in Julia v1.12 #1369
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: CI | |
| on: | |
| push: | |
| branches: "master" | |
| tags: ["*"] | |
| paths: | |
| - '.github/workflows/ci.yml' | |
| - '*.toml' | |
| - 'src/**' | |
| - 'test/**' | |
| pull_request: | |
| paths: | |
| - '.github/workflows/ci.yml' | |
| - '*.toml' | |
| - 'src/**' | |
| - 'test/**' | |
| release: | |
| concurrency: | |
| # Skip intermediate builds: always. | |
| # Cancel intermediate builds: always. | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| BINARYBUILDER_AUTOMATIC_APPLE: true | |
| jobs: | |
| test: | |
| name: Julia ${{ matrix.julia-version }} - x64 - runner ${{ matrix.runner }} - SquashFS ${{ matrix.squashfs }} | |
| timeout-minutes: 60 | |
| # With unprivileged runner on Ubuntu 24.04 we run into | |
| # | |
| # --> Creating overlay workdir at /proc | |
| # At line 572, ABORTED (13: Permission denied)! | |
| runs-on: ubuntu-22.04 | |
| env: | |
| BINARYBUILDER_RUNNER: ${{ matrix.runner }} | |
| BINARYBUILDER_USE_SQUASHFS: ${{ matrix.squashfs }} | |
| # Run full tests only when we use the packed shards, because we constantly | |
| # run out of disk on the free GitHub-hosted runners. | |
| BINARYBUILDER_FULL_SHARD_TEST: ${{ matrix.squashfs }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Add a job that uses the privileged builder with squashfs shards | |
| - runner: privileged | |
| squashfs: true | |
| julia-version: "1.7" | |
| - runner: privileged | |
| squashfs: true | |
| julia-version: "1.10" | |
| - runner: privileged | |
| squashfs: true | |
| julia-version: "1.11" | |
| - runner: privileged | |
| squashfs: true | |
| julia-version: "1.12" | |
| - runner: privileged | |
| squashfs: true | |
| julia-version: "1.13-nightly" | |
| - runner: privileged | |
| squashfs: true | |
| julia-version: "nightly" | |
| # Add a job that uses the unprivileged builder with unpacked shards | |
| - runner: unprivileged | |
| squashfs: false | |
| julia-version: "1.12" | |
| # Add a job that uses the docker builder with unpacked shards | |
| - runner: docker | |
| squashfs: false | |
| julia-version: "1.12" | |
| steps: | |
| - name: Show available storage before cleanup | |
| run: | | |
| df -h / | |
| df -a / | |
| - name: Free Disk Space | |
| uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 | |
| with: | |
| tool-cache: true | |
| # This option takes some time, but could be switched to true if more | |
| # space is needed (~5 GB or so) | |
| large-packages: false | |
| - name: Cleanup /opt | |
| run: | | |
| sudo rm -rf /opt/* | |
| - name: Show available storage after cleanup | |
| run: | | |
| df -h / | |
| df -a / | |
| - uses: actions/checkout@v6 | |
| - uses: julia-actions/setup-julia@v2 | |
| with: | |
| version: ${{ matrix.julia-version }} | |
| arch: x64 | |
| # We can't cache artifacts at the moment, it'd require more than 10 GiB. | |
| # - uses: julia-actions/cache@v2 | |
| # # For the time being cache artifacts only for squashfs, we need too much | |
| # # storage for the unpacked shards | |
| # if: ${{ matrix.squashfs == true }} | |
| # with: | |
| # # Reserve entire cache to artifacts | |
| # cache-name: ${{ matrix.squashfs }} | |
| # cache-artifacts: "true" | |
| # cache-packages: "false" | |
| # cache-registries: "false" | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| with: | |
| ignore-no-cache: true | |
| - name: System info | |
| run: | | |
| args=(--check-bounds=yes --color=yes --depwarn=yes --inline=yes --project=@.) | |
| # On Julia v1.8+ issue the code coverage info for this command. | |
| if [[ "${{ matrix.julia-version }}" != "1.7" ]]; then | |
| args+=(--code-coverage="@${PWD}") | |
| fi | |
| julia "${args[@]}" -e "using BinaryBuilderBase; BinaryBuilderBase.versioninfo()" | |
| - name: Run tests | |
| run: | | |
| eval `ssh-agent` | |
| chmod 0600 test/id_ecdsa_deploy_helloworld_c_jll_read_only | |
| mkdir -p ~/.ssh | |
| touch ~/.ssh/known_hosts | |
| ssh-keyscan github.com >> ~/.ssh/known_hosts | |
| ssh-add test/id_ecdsa_deploy_helloworld_c_jll_read_only | |
| julia --check-bounds=yes --color=yes --depwarn=yes --inline=yes --project=@. -e 'using Pkg; Pkg.instantiate(); Pkg.test(coverage=true)' | |
| - uses: julia-actions/julia-processcoverage@v1 | |
| - uses: codecov/codecov-action@v5 | |
| continue-on-error: true | |
| with: | |
| files: lcov.info | |
| - uses: coverallsapp/github-action@v2 | |
| continue-on-error: true | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| path-to-lcov: lcov.info | |
| flag-name: run-${{ join(matrix.*, '-') }} | |
| parallel: true |