ci: simplify GAP tests #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Downstream" | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
push: | ||
branches: | ||
- "main" | ||
- "stable-*.*" | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
inputs: | ||
GAP_VERSION : | ||
description: 'the version of GAP required' | ||
required: false | ||
type: string | ||
default: '4.12.2' | ||
GAP_SEMIGROUPS_REPO: | ||
description: 'the repo to use for the Semigroups GAP package' | ||
required: false | ||
type: string | ||
default: 'semigroups' | ||
GAP_SEMIGROUPS_BRANCH: | ||
description: 'the branch to use for the Semigroups GAP package' | ||
required: false | ||
type: string | ||
default: 'stable-5.3' | ||
jobs: | ||
GAP: | ||
env: | ||
GAP_VERSION: ${{ inputs.GAP_VERSION }} | ||
GAP_SEMIGROUPS_REPO: ${{ inputs.GAP_SEMIGROUPS_REPO }} | ||
GAP_SEMIGROUPS_BRANCH: ${{ inputs.GAP_SEMIGROUPS_BRANCH }} | ||
GAP: "gap -A -T --quiteonbreak" | ||
name: "GAP ${{ inputs.GAP_VERSION }} / Semigroups (${{ inputs.GAP_SEMIGROUPS_REPO }}) / ${{ inputs.GAP_SEMIGROUPS_BRANCH }} / ubuntu / 64-bit" | ||
runs-on: ubuntu-latest | ||
container: | ||
image: jamesdbmitchell/gap-docker-minimal:version-${{ inputs.GAP_VERSION }} | ||
options: --user root | ||
volumes: | ||
- ${{ github.workspace }}:/home/libsemigroups | ||
steps: | ||
- name: "Checkout libsemigroups" | ||
uses: actions/checkout@v3 | ||
- name: "Install git + autotools" | ||
run: | | ||
sudo apt-get --yes update | ||
sudo apt-get install git --yes | ||
sudo apt-get install pkg-config m4 libtool automake autoconf --yes | ||
sudo apt-get install libtool-bin --yes | ||
- name: "Setup ccache" | ||
uses: Chocobo1/setup-ccache-action@v1 | ||
with: | ||
update_packager_index: false | ||
override_cache_key: ${{ runner.os }}-v${{ inputs.GAP_VERSION }}-64-${{ github.ref }} | ||
override_cache_key_fallback: ${{ runner.os }}-v${{ inputs.GAP_VERSION }}-64 | ||
- name: "Clone the Semigroups GAP package" | ||
run: | | ||
rm -rf $HOME/inst/gap-$GAP_VERSION/pkg/semigroups-*.*.* | ||
cd $HOME/inst/gap-$GAP_VERSION/pkg | ||
git clone -b $GAP_SEMIGROUPS_BRANCH --depth=1 https://github.com/$GAP_SEMIGROUPS_REPO/Semigroups.git Semigroups | ||
cd Semigroups | ||
mv /home/libsemigroups . | ||
- name: "Build the Semigroups GAP package" | ||
run: | | ||
cd $HOME/inst/gap-$GAP_VERSION/pkg/Semigroups | ||
if [ -x libsemigroups/etc/version-number.sh ] && [ ! -f libsemigroups/.VERSION ]; then | ||
cd libsemigroups | ||
etc/version-number.sh > .TMP_VERSION | ||
mv .TMP_VERSION .VERSION | ||
cd .. | ||
fi | ||
./prerequisites.sh | ||
./autogen.sh | ||
./configure --disable-hpcombi | ||
make -j4 | ||
- name: "Install Semigroups GAP package dependencies" | ||
run: | | ||
echo "LoadPackage(\"PackageManager\"); QuitGap(InstallPackage(\"autodoc\", false));" | $GAP | ||
echo "LoadPackage(\"PackageManager\"); QuitGap(InstallPackage(\"datastructures\", false));" | $GAP | ||
echo "LoadPackage(\"PackageManager\"); QuitGap(InstallPackage(\"digraphs\", false));" | $GAP | ||
echo "LoadPackage(\"PackageManager\"); QuitGap(InstallPackage(\"genss\", false));" | $GAP | ||
echo "LoadPackage(\"PackageManager\"); QuitGap(InstallPackage(\"images\", false));" | $GAP | ||
echo "LoadPackage(\"PackageManager\"); QuitGap(InstallPackage(\"orb\", false) and CompilePackage(\"orb\"));" | $GAP | ||
- name: "Run Semigroups GAP package workspace tests" | ||
run: | | ||
cd /home/gap/inst/gap-$GAP_VERSION/pkg/Semigroups | ||
$GAP tst/workspaces/save.g | ||
$GAP -L tst/workspaces/test-output.w tst/workspaces/load.g | ||
- name: "Run Semigroups GAP package standard tests" | ||
cd /home/gap/inst/gap-${{ inputs.GAP_VERSION }}/pkg/Semigroups | ||
$GAP tst/teststandard.g | ||
- name: "Run GAP testinstall" | ||
$GAP ci/run-gap-testinstall.g | ||
- name: "Run GAP teststandard" | ||
$GAP ci/run-gap-teststandard.g | ||
- name: "Run GAP testbugfix" | ||
$GAP ci/run-gap-testbugfix.g |