Skip to content

clean up

clean up #2481

Workflow file for this run

name: Run tests
on:
push:
branches:
- master
- develop
- 'feature/**'
- 'bugfix/**'
# tags: '*'
pull_request:
branches:
- master
- develop
- feature/github-actions
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
julia-version: ['1', 'nightly']
julia-arch: [x64]
os: [ubuntu-latest]
fail-fast: false
steps:
- name: "Checkout"
uses: actions/checkout@v2
- name: "Setup Julia"
uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
arch: ${{ matrix.julia-arch }}
- name: "Build"
uses: julia-actions/julia-buildpkg@latest
- name: "Run tests"
run: |
julia --color=yes --project=@. -t2 -e "using Pkg; Pkg.test(\"Rimu\"; coverage=true);"
- name: "Run MPI tests"
run: |
export JULIA_PROJECT=@.
export JULIA_MPIEXEC=mpiexecjl
export JULIA_NUM_THREADS=1
julia --project -e 'ENV["JULIA_MPI_BINARY"]=""; using Pkg; Pkg.add("MPI"); Pkg.build("MPI"; verbose=true); using MPI; MPI.install_mpiexecjl()'
julia --project=@. -e "using InteractiveUtils; versioninfo(verbose=true)"
julia --project=@. -e "using Pkg; Pkg.instantiate(); Pkg.build()"
export PATH=$PATH:/home/runner/.julia/bin
# MPI tests need to run with the Rimu/test/Project.toml to have access to
# KrylovKit. Since it's not in the project, we need to first install there.
# Note: this messes up the test Project.toml, but we don't need it anymore,
# so testing Rimu will no longer work. This is fine if this step is done
# after the testing.
julia --color=yes --project=test -e 'import Pkg; Pkg.instantiate(); Pkg.develop(path="."); Pkg.build()'
mpiexecjl -n 2 julia --code-coverage=user --depwarn=yes --project=test test/mpi_runtests.jl
- name: "Process coverage"
uses: julia-actions/julia-processcoverage@latest
- name: "Coveralls"
uses: coverallsapp/github-action@v1.1.2
with:
github-token: ${{ secrets.github_token }}
path-to-lcov: ./lcov.info
if: ${{ matrix.julia-version == '1' }}