Add additional unit tests #23
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: | |
push: | |
branches: [main] | |
tags: '*' | |
pull_request: | |
jobs: | |
format: | |
name: Check Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: '1.9' | |
arch: x64 | |
- name: Format with JuliaFormatter | |
run: julia --project=utils/format utils/format/format.jl | |
- name: Check formatting | |
run: | | |
if [[ $(git diff --name-only | wc -l) -ge 1 ]]; then exit 1; else exit 0; fi | |
test: | |
needs: format | |
name: Run Tests (Julia v${{ matrix.version }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: ['1.9'] | |
os: [ubuntu-latest] | |
arch: [x64] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: actions/cache@v1 | |
env: | |
cache-name: cache-artifacts | |
with: | |
path: ~/.julia/artifacts | |
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} | |
restore-keys: | | |
${{ runner.os }}-test-${{ env.cache-name }}- | |
${{ runner.os }}-test- | |
${{ runner.os }}- | |
- uses: julia-actions/julia-buildpkg@v1 | |
- uses: adamslc/julia-runtest@main | |
with: | |
test_arg: basics | |
name: Run basic tests | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: 'src,ext' | |
- uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: lcov.info | |
flags: basics | |
- name: Clean up .cov files | |
run: julia --project=utils/clean_cov utils/clean_cov/clean_cov.jl | |
- uses: adamslc/julia-runtest@main | |
with: | |
test_arg: unit | |
name: Run unit tests | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: 'src,ext' | |
- uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: lcov.info | |
flags: unit | |
- name: Clean up .cov files | |
run: julia --project=utils/clean_cov utils/clean_cov/clean_cov.jl | |
- uses: adamslc/julia-runtest@main | |
with: | |
test_arg: integration | |
name: Run integration tests | |
- uses: julia-actions/julia-processcoverage@v1 | |
with: | |
directories: 'src,ext' | |
- uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: lcov.info | |
flags: integration | |
- name: Clean up .cov files | |
run: julia --project=utils/clean_cov utils/clean_cov/clean_cov.jl | |
docs: | |
name: Build documentation | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: '1.9' | |
- name: Install dependencies | |
run: julia --project=docs -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' | |
- name: Build and deploy | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} | |
run: julia --project=docs docs/make.jl |