Files
julia-runtest/.github/workflows/ci.yml
2025-11-16 21:01:29 -05:00

90 lines
2.5 KiB
YAML

name: CI
on:
push:
branches:
- "main"
- "master"
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
version:
- "1.0"
- "lts"
- "1" # automatically expands to the latest stable 1.x release of Julia
- "pre"
- "nightly"
os:
- ubuntu-latest
- macOS-latest
- windows-latest
arch:
- x64
- x86
- aarch64
# 32-bit Julia binaries are not available on macOS
# macOS runners use Apple Silicon (ARM64)
exclude:
- os: macOS-latest
arch: x86
- os: macOS-latest
arch: x64
- os: ubuntu-latest
arch: aarch64
- os: windows-latest
arch: aarch64
# Julia 1.0 didn't support ARM64
- os: macOS-latest
arch: aarch64
version: "1.0"
steps:
- name: Checkout Example.jl
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
repository: julia-actions/Example.jl
- name: Verify that test output file does not exist yet
run: test ! -f "$HOME/julia-runtest"
shell: bash
- name: Checkout julia-runtest
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
path: ./.github/actions/julia-runtest
- uses: julia-actions/setup-julia@5c9647d97b78a5debe5164e9eec09d653d29bd71 # v2.6.1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@d10a6fd8f31b12404a54613ebad242900567f2b9 # v2.1.0
- uses: julia-actions/julia-buildpkg@e3eb439fad4f9aba7da2667e7510e4a46ebc46e1 # v1.7.0
- uses: ./.github/actions/julia-runtest
- uses: julia-actions/julia-processcoverage@03114f09f119417c3242a9fb6e0b722676aedf38
- uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
files: lcov.info
token: ${{ secrets.CODECOV_TOKEN }}
fail-ci-if-error: true
- name: Verify that test output file exists
run: test -f "$HOME/julia-runtest"
shell: bash