Skip to content

[CI] Run some jobs in Julia v1.12 #1367

[CI] Run some jobs in Julia v1.12

[CI] Run some jobs in Julia v1.12 #1367

Workflow file for this run

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
- 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
- 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