Files
setup-julia/.github/workflows/example-builds.yml
Dilum Aluthge 813a39a1b8 Fix CI in #352
2026-03-02 14:10:40 -05:00

82 lines
2.7 KiB
YAML

name: Example builds
concurrency:
# Skip intermediate builds: all builds except for builds on the `master`, `main`, or `release-*` branches
# Cancel intermediate builds: only pull request builds
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
on:
push:
branches: ['main', 'master', 'releases/*']
pull_request:
workflow_dispatch:
permissions:
contents: read
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
julia-version:
- '1.0.5'
- '1.2'
- '^1.5.0-beta1'
- '1'
- '1.6'
- '1.10' # include '1.10' here to test info message about lts tag existing
- 'lts'
- 'pre'
julia-wordsize:
- 64
- 32
os:
- ubuntu-latest
- windows-latest
- macos-15-intel # Intel
- macos-latest # Apple Silicon
# 32-bit Julia binaries are not available on macOS
exclude:
- os: macos-15-intel # Intel
julia-wordsize: 32
- os: macos-latest # Apple Silicon
julia-wordsize: 32
steps:
- uses: actions/checkout@v6.0.2
with:
persist-credentials: false
- uses: actions/setup-node@v6
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
with:
node-version-file: '.tool-versions'
- name: "Install dependencies"
if: ${{ ! startsWith(github.ref, 'refs/heads/releases') }}
run: |
npm install
npm run build
npm run pack
- name: "Set up Julia"
id: setup-julia
uses: ./
with:
version: ${{ matrix.julia-version }}
# If `julia-wordsize` is 32, then we set `arch` to `x86`, because we know that
# 32-bit builds of Julia are only available for x86.
#
# If `julia-wordsize` is 64, then we set `arch` to `${{ runner.arch }}`, which
# GitHub will automatically expand to the correct value (`x86_64` or `aarch64`)
# based on the architecture of the underlying GitHub Runner (virtual machine).
arch: ${{ matrix.julia-wordsize == '32' && 'x86' || runner.arch }}
- run: julia --version
- run: julia --compile=min -O0 -e 'import InteractiveUtils; InteractiveUtils.versioninfo()'
- name: "Check that the correct julia is used and that archive mtimes are maintained"
run: julia --startup-file=no --color=yes ./.github/scripts/common-tests.jl