Improve type inference #294
Workflow file for this run
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: | |
pull_request: | |
push: | |
branches: | |
- master | |
tags: '*' | |
concurrency: | |
# Skip intermediate builds: always. | |
# Cancel intermediate builds: always. | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
timeout-minutes: 30 | |
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - provider ${{ matrix.provider }} - ${{ matrix.threads }} thread(s) | |
runs-on: ${{ matrix.os }} | |
env: | |
JULIA_NUM_THREADS: ${{ matrix.threads }} | |
strategy: | |
fail-fast: false | |
matrix: | |
provider: | |
- 'fftw' | |
- 'mkl' | |
version: | |
- '1.6' | |
- '1' | |
- 'nightly' | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macOS-13 # intel | |
- macOS-latest # arm | |
threads: | |
- '1' | |
- '2' | |
arch: | |
- x64 | |
- x86 | |
- aarch64 | |
exclude: | |
# 32-bit Julia binaries are not available on macOS | |
- os: macOS-latest | |
arch: x86 | |
# 32-bit Linux binary for MKL isn't always available, let's ignore it | |
- os: ubuntu-latest | |
provider: 'mkl' | |
arch: x86 | |
- provider: 'mkl' | |
threads: '2' | |
# Disable various OS-arch combinations that are not available | |
- os: ubuntu-latest | |
arch: aarch64 | |
- os: windows-latest | |
arch: aarch64 | |
- os: macOS-13 | |
arch: x86 | |
- os: macOS-13 | |
arch: aarch64 | |
- os: macOS-13 | |
version: '1.6' | |
provider: 'mkl' | |
- os: macOS-latest | |
arch: x86 | |
- os: macOS-latest | |
arch: x64 | |
- os: macOS-latest | |
version: '1.6' | |
- os: macOS-latest | |
provider: 'mkl' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: julia-actions/cache@v2 | |
# In MKL 2024, Intel dropped support for macOS. | |
# So, in CI, for the macOS jobs, we force MKL 2023 to be installed (instead of | |
# MKL 2024). | |
- run: julia .ci/macos_mkl_2023.jl | |
if: (matrix.os == 'macOS-13') && (matrix.provider == 'mkl') | |
- name: Set Preferences | |
run: julia --project .github/set_ci_preferences.jl "${{ matrix.provider }}" | |
- uses: julia-actions/julia-runtest@v1 | |
- uses: julia-actions/julia-processcoverage@v1 | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} # required | |
file: lcov.info | |
Documentation: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@latest | |
with: | |
version: 1 | |
- uses: julia-actions/cache@v2 | |
- uses: julia-actions/julia-buildpkg@v1 | |
- uses: julia-actions/julia-docdeploy@releases/v1 | |
env: | |
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} |