-
Notifications
You must be signed in to change notification settings - Fork 46
147 lines (141 loc) · 4.82 KB
/
gap.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: "GAP"
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
- stable-*.*
schedule:
# Every day at 3:30 AM UTC
- cron: '30 3 * * *'
env:
DIGRAPHS_LIB: digraphs-lib-0.6
jobs:
test-unix:
name: "${{ matrix.os }}${{ matrix.ABI }} / GAP ${{ matrix.gap-branch }}"
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
os:
- ubuntu
gap-branch:
- master
- stable-4.11
- stable-4.12
- stable-4.13
pkgs-to-clone:
- NautyTracesInterface
ABI: ['']
include:
- gap-branch: stable-4.10
os: ubuntu
- gap-branch: master
pkgs-to-clone: "NautyTracesInterface"
os: macos
- gap-branch: master
os: ubuntu
ABI: 32
steps:
- uses: actions/checkout@v4
- name: "Install dependencies"
if: ${{ runner.os == 'macOS' }}
run: brew install automake
- name: "Install GAP and clone/compile necessary packages"
uses: gap-actions/setup-gap@v2
with:
GAP_PKGS_TO_CLONE: "${{ matrix.pkgs-to-clone }}"
GAP_PKGS_TO_BUILD: "io orb profiling grape NautyTracesInterface datastructures"
GAPBRANCH: ${{ matrix.gap-branch }}
ABI: ${{ matrix.ABI }}
- name: "Build Digraphs"
uses: gap-actions/build-pkg@v1
with:
ABI: ${{ matrix.ABI }}
- name: "Install digraphs-lib"
run: |
curl --retry 5 -L -O "https://digraphs.github.io/Digraphs/${{ env.DIGRAPHS_LIB }}.tar.gz"
tar xf "${{ env.DIGRAPHS_LIB }}.tar.gz"
- name: "Clone graphviz"
run: |
cd $HOME/gap/pkg/
git clone https://github.com/digraphs/graphviz.git graphviz
- name: "Clone datastructures v0.3.0"
if: ${{ matrix.gap-branch == 'stable-4.10' }}
run: |
rm -rf $HOME/gap/pkg/datastructures
cd $HOME/gap/pkg/
git clone https://github.com/gap-packages/datastructures.git datastructures
cd datastructures
git checkout v0.3.0
./configure
make
- name: "Run DigraphsTestInstall"
uses: gap-actions/run-pkg-tests@v2
with:
GAP_TESTFILE: "tst/github_actions/install.g"
- name: "Run DigraphsTestStandard"
uses: gap-actions/run-pkg-tests@v2
with:
GAP_TESTFILE: "tst/github_actions/standard.g"
- name: "Run DigraphsTestManualExamples"
uses: gap-actions/run-pkg-tests@v2
with:
GAP_TESTFILE: "tst/github_actions/examples.g"
- name: "Run DigraphsTestExtreme"
uses: gap-actions/run-pkg-tests@v2
with:
GAP_TESTFILE: "tst/github_actions/extreme.g"
- uses: gap-actions/process-coverage@v2
- uses: codecov/codecov-action@v3
test-cygwin:
name: "cygwin / GAP master"
runs-on: windows-2019
env:
CHERE_INVOKING: 1
steps:
- uses: actions/checkout@v4
- uses: gap-actions/setup-cygwin@v1
- uses: gap-actions/setup-gap@cygwin-v2
with:
GAP_PKGS_TO_BUILD: "io orb profiling grape datastructures"
- uses: gap-actions/build-pkg@cygwin-v1
- name: "Install digraphs-lib"
run: |
curl --retry 5 -L -O "https://digraphs.github.io/Digraphs/${{ env.DIGRAPHS_LIB }}.tar.gz"
tar xf "${{ env.DIGRAPHS_LIB }}.tar.gz"
- uses: gap-actions/run-pkg-tests@cygwin-v2
- uses: gap-actions/process-coverage@cygwin-v2
- uses: codecov/codecov-action@v3
with-external-planarity-bliss:
runs-on: "ubuntu-latest"
env:
GAPBRANCH: "stable-4.12"
ABI: 64
PKG_CONFIG_PATH: "/home/runner/micromamba/envs/digraphs/lib/pkgconfig:/home/runner/micromamba/envs/digraphs/share/pkgconfig/"
LD_LIBRARY_PATH: "/home/runner/micromamba/envs/digraphs/lib"
CFLAGS: "-I/home/runner/micromamba/envs/digraphs/include"
LDFLAGS: "-L/home/runner/micromamba/envs/digraphs/lib"
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- name: "Install micromamba environment from environment.yml . . ."
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
cache-environment: true
- name: "Activate \"digraphs\" environment . . ."
run: micromamba activate digraphs
- name: "Install GAP and clone/compile necessary packages"
uses: gap-actions/setup-gap@v2
with:
GAP_PKGS_TO_BUILD: "io orb profiling grape datastructures"
- name: "Build Digraphs"
uses: gap-actions/build-pkg@v1
with:
CONFIGFLAGS: --with-external-planarity --with-external-bliss
- name: "Run Digraphs package's tst/teststandard.g"
uses: gap-actions/run-pkg-tests@v2