Add unit testing workflow

This commit is contained in:
Thomas A. Christensen II 2022-07-05 09:42:26 -05:00
parent c5b28e282f
commit 6e2eab42c7
Signed by: millironx
GPG key ID: 139C07724802BC5D

61
.github/workflows/UnitTests.yml vendored Normal file
View file

@ -0,0 +1,61 @@
name: Unit Tests
on:
- push
- pull_request
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
julia-version:
- '1.6'
- '1'
- 'nightly'
julia-arch:
- x64
- x86
os:
- ubuntu-latest
- windows-latest
- macOS-latest
exclude:
- os: macOS-latest
julia-arch: x86
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Julia
uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
arch: ${{ matrix.julia-arch }}
- name: Cache artifacts
uses: actions/cache@v3
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 }}-
- name: Build package
uses: julia-actions/julia-buildpkg@v1
- name: Run tests
uses: julia-actions/julia-runtest@v1
- name: Create CodeCov
uses: julia-actions/julia-processcoverage@v1
- name: Upload CodeCov
uses: codecov/codecov-action@v1
with:
file: lcov.info
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}