Make GPUs actually usable #4116
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: | |
- main | |
paths-ignore: | |
- 'AUTHORS.md' | |
- 'CITATION.bib' | |
- 'CONTRIBUTING.md' | |
- 'LICENSE.md' | |
- 'NEWS.md' | |
- 'README.md' | |
- '.github/workflows/CompatHelper.yml' | |
- '.github/workflows/TagBot.yml' | |
- 'docs/**' | |
pull_request: | |
paths-ignore: | |
- 'AUTHORS.md' | |
- 'CITATION.bib' | |
- 'CONTRIBUTING.md' | |
- 'LICENSE.md' | |
- 'NEWS.md' | |
- 'README.md' | |
- '.github/workflows/CompatHelper.yml' | |
- '.github/workflows/TagBot.yml' | |
- 'docs/**' | |
workflow_dispatch: | |
# Skip intermediate builds: always. | |
# Cancel intermediate builds: only if it is a pull request build. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
jobs: | |
build: | |
name: Run Tests (Julia ${{ matrix.version }} - ${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
# Don't cancel all running jobs when one job fails | |
fail-fast: false | |
matrix: | |
version: | |
- '1.10' | |
- '1' | |
os: | |
- ubuntu-latest | |
include: | |
# Also run tests on Windows and macOS-ARM, but only with the latest Julia release and minimum supported version. | |
# Don't use 'min' version, which will ignore hotfixes, i.e. 1.10.0 will be used instead of e.g. 1.10.8. | |
- version: '1.10' | |
os: windows-latest | |
- version: '1.10' | |
os: macos-14 | |
- version: '1' | |
os: windows-latest | |
- version: '1' | |
os: macos-14 | |
steps: | |
- name: Check out project | |
uses: actions/checkout@v4 | |
- name: Set up Julia | |
uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
- name: Display Julia version | |
run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)' | |
- uses: julia-actions/cache@v2 | |
- name: Build package | |
uses: julia-actions/julia-buildpkg@v1 | |
- name: Run unit tests | |
uses: julia-actions/julia-runtest@v1 | |
with: | |
annotate: true | |
# Only run coverage in one Job (Ubuntu and latest Julia version) | |
coverage: ${{ matrix.os == 'ubuntu-latest' && matrix.version == '1' }} | |
env: | |
TRIXIPARTICLES_TEST: unit | |
- name: Process coverage results | |
# Only run coverage in one Job (Ubuntu and latest Julia version) | |
if: matrix.os == 'ubuntu-latest' && matrix.version == '1' | |
uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: src,test | |
- name: Upload coverage report to Codecov | |
# Only run coverage in one Job (Ubuntu and latest Julia version) | |
if: matrix.os == 'ubuntu-latest' && matrix.version == '1' | |
uses: codecov/codecov-action@v5 | |
with: | |
files: lcov.info | |
fail_ci_if_error: true | |
flags: unit | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
- name: Run example tests | |
uses: julia-actions/julia-runtest@v1 | |
with: | |
annotate: true | |
coverage: false | |
env: | |
TRIXIPARTICLES_TEST: examples |