mirror of
https://github.com/julia-actions/julia-runtest.git
synced 2026-02-12 02:56:55 +08:00
Add prefix input (#24)
This allows inserting commands like xvfb-run in front of the Julia command (fixes #3) Co-authored-by: Isaac Good <github@isaacgood.com>
This commit is contained in:
33
README.md
33
README.md
@@ -33,3 +33,36 @@ jobs:
|
||||
- uses: julia-actions/julia-buildpkg@latest
|
||||
- uses: julia-actions/julia-runtest@latest
|
||||
```
|
||||
|
||||
### Prefixing the Julia command
|
||||
|
||||
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:
|
||||
|
||||
```yaml
|
||||
- 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](https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#example-including-additional-values-into-combinations) of your build matrix, e.g.:
|
||||
|
||||
```yaml
|
||||
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`.
|
||||
|
||||
15
action.yml
15
action.yml
@@ -19,6 +19,10 @@ inputs:
|
||||
project:
|
||||
description: 'Value passed to the --project flag. The default value is the repository root: "@."'
|
||||
default: '@.'
|
||||
prefix:
|
||||
description: 'Value inserted in front of the julia command, e.g. for running xvfb-run julia [...]'
|
||||
default: ''
|
||||
required: false
|
||||
|
||||
runs:
|
||||
using: 'composite'
|
||||
@@ -39,5 +43,14 @@ runs:
|
||||
# the request metadata to pkg.julialang.org when installing
|
||||
# packages via `Pkg.test`.
|
||||
JULIA_PKG_SERVER: ""
|
||||
- run: julia --color=yes --check-bounds=yes --inline=${{ inputs.inline }} --depwarn=${{ inputs.depwarn }} --project=${{ inputs.project }} -e 'using Pkg; Pkg.test(coverage=${{ inputs.coverage }})'
|
||||
- run: |
|
||||
# The Julia command that will be executed
|
||||
julia_cmd=( julia --color=yes --check-bounds=yes --inline=${{ inputs.inline }} --depwarn=${{ inputs.depwarn }} --project=${{ inputs.project }} -e 'using Pkg; Pkg.test(coverage=${{ inputs.coverage }})' )
|
||||
|
||||
# Add the prefix in front of the command if there is one
|
||||
prefix="${{ inputs.prefix }}"
|
||||
[[ -n $prefix ]] && julia_cmd=( "$prefix" "${julia_cmd[@]}" )
|
||||
|
||||
# Run the Julia command
|
||||
"${julia_cmd[@]}"
|
||||
shell: bash
|
||||
|
||||
Reference in New Issue
Block a user