GitHub Action
Run Julia package tests
This action runs the tests in a Julia package.
Julia needs to be installed before this action can run. This can easily be achieved with the setup-julia action.
An example workflow that uses this action might look like this:
name: Run tests
on:
push:
branches:
- master
- main
pull_request:
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
julia-version: ['1.0', '1', 'nightly']
julia-arch: [x64, x86]
os: [ubuntu-latest, windows-latest, macOS-latest]
exclude:
- os: macOS-latest
julia-arch: x86
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.julia-version }}
arch: ${{ matrix.julia-arch }}
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
with:
annotate: true
You can add this workflow to your repository by placing it in a file called test.yml
in the folder .github/workflows/
. More info here.
Here, setting annotate: true
causes GitHub "annotations" to appear when reviewing the PR, pointing to failing tests, if any.
By default, annotate
is set to false, but that may change in future releases of this action.
In some packages, you may want to prefix the julia
command with another command, e.g. for running tests of certain graphical libraries with xvfb-run
.
In that case, you can add an input called prefix
containing the command that will be inserted to your workflow:
- uses: julia-actions/julia-runtest@v1
with:
prefix: xvfb-run
If you only want to add this prefix on certain builds, you can include additional values into a combination of your build matrix, e.g.:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
version: ['1.0', '1', 'nightly']
arch: [x64]
include:
- os: ubuntu-latest
prefix: xvfb-run
steps:
# ...
- uses: julia-actions/julia-runtest@v1
with:
prefix: ${{ matrix.prefix }}
# ...
This will add the prefix xvfb-run
to all builds where the os
is ubuntu-latest
.