[Rootfs] Add GCC 14.2 and make it default for riscv64 (#403) #1141
This file contains 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.8" | |
- runner: privileged | |
squashfs: true | |
julia-version: "1.9" | |
- runner: privileged | |
squashfs: true | |
julia-version: "1.10" | |
# - 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.7" | |
# Add a job that uses the docker builder with unpacked shards | |
- runner: docker | |
squashfs: false | |
julia-version: "1.7" | |
steps: | |
- run: sudo rm -rf /opt/* | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@v1 | |
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@v1 | |
# # 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@latest | |
- 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/[email protected] | |
continue-on-error: true | |
- uses: julia-actions/[email protected] | |
continue-on-error: true |