Skip to content

Ubuntu

Ubuntu #981

Workflow file for this run

name: Ubuntu
on:
workflow_dispatch:
pull_request:
push:
schedule:
# Every weekday at 01:30 AM UTC
- cron: '30 1 * * 1-5'
# the `concurrency` settings ensure that not too many CI jobs run in parallel
concurrency:
# group by workflow and ref; the last slightly strange component ensures that for pull
# requests, we limit to 1 concurrent job, but for the master branch we don't
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.run_number }}
# Cancel intermediate builds, but only if it is a pull request build.
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
test:
name: ${{ matrix.os }} - GAP ${{ matrix.gap-branch }} - Rust ${{matrix.rust-version}}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os:
- ubuntu
gap-branch:
- master
- stable-4.15
- stable-4.14
- stable-4.13
rust-version:
- stable
steps:
- uses: actions/checkout@v5
- uses: gap-actions/setup-cygwin@v2
if: ${{ runner.os == 'Windows' }}
- name: "Set up rust"
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust-version }}
default: true
- name: "Build the rust component of Vole"
run: cd rust && cargo --version && cargo build --release --all-features
- name: "Run the rust tests for Vole"
run: cd rust && cargo test --release -q
- name: "Install GAP and the necessary packages"
uses: gap-actions/setup-gap@v2
with:
GAPBRANCH: ${{ matrix.gap-branch }}
GAP_PKGS_TO_CLONE: "OrbitalGraphs quickcheck"
GAP_PKGS_TO_BUILD: "datastructures digraphs ferret io json orb profiling"
- name: "Run GAP tests for Vole"
uses: gap-actions/run-pkg-tests@v4
- uses: gap-actions/process-coverage@v2
- uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: "Setup tmate session"
uses: mxschmitt/action-tmate@v3
if: ${{ failure() }}
timeout-minutes: 15