Skip to content

Refactor CI workflow for sanity check and readability #210

Refactor CI workflow for sanity check and readability

Refactor CI workflow for sanity check and readability #210

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags: '*' # Enable workflow for any tag pushes
paths-ignore:
- 'LICENSE'
- 'README.md'
- 'docs/**'
pull_request:
paths-ignore:
- 'LICENSE'
- 'README.md'
- 'docs/**'
workflow_dispatch:
# Cancel concurrent CI tests
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.10'
os:
- ubuntu-latest
- macOS-latest
- windows-latest
arch:
- x64
# No binaries for Julia 1.10 - macOS-latest - x86
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set Up Julia
uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- name: Display Julia Version Info
run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)'
- name: Cache Julia Packages
uses: julia-actions/cache@v2
- name: Build Julia Package
uses: julia-actions/julia-buildpkg@v1
# Note that only basic or placeholder tests can run on remote CI machines now
# CUDA tests requiring GPU setups must be run using JuliaGPU Buildkite
# TODO: Move tests to JuliaGPU Buildkite
- name: Test Julia Package
uses: julia-actions/julia-runtest@v1