Skip to content

Commit 2c0c2b2

Browse files
authored
CI: Add testing against Singular's spielwiese branch (#927)
1 parent 2b38fac commit 2c0c2b2

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

.github/workflows/singular.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: CI with Singular
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- 'release-*'
8+
tags: '*'
9+
pull_request:
10+
schedule:
11+
# Every day at 2:33 AM UTC
12+
- cron: '33 2 * * *'
13+
workflow_dispatch:
14+
15+
concurrency:
16+
# group by workflow and ref; the last slightly strange component ensures that for pull
17+
# requests, we limit to 1 concurrent job, but for the default repository branch we don't
18+
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref_name != github.event.repository.default_branch || github.run_number }}
19+
# Cancel intermediate builds, but only if it is a pull request build.
20+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
21+
22+
jobs:
23+
test:
24+
name: Julia ${{ matrix.julia-version }} - Singular ${{ matrix.singular-version }} - ${{ matrix.os }}
25+
runs-on: ${{ matrix.os }}
26+
timeout-minutes: 30
27+
continue-on-error: ${{ matrix.julia-version == 'nightly' }}
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
singular-version:
32+
- 'spielwiese'
33+
julia-version:
34+
- '1' # latest stable release
35+
# - '1.13-nightly' # TODO: enable once julia 1.13.0-rc1 is released
36+
- 'nightly'
37+
os:
38+
- ubuntu-latest
39+
include:
40+
# Add a few macOS jobs (the number we can run in parallel is limited)
41+
- singular-version: 'spielwiese'
42+
julia-version: '1'
43+
os: macOS-latest
44+
45+
steps:
46+
- uses: actions/checkout@v6
47+
- name: "Set up Julia"
48+
uses: julia-actions/setup-julia@v2
49+
id: setup-julia
50+
with:
51+
version: ${{ matrix.julia-version }}
52+
- name: "Checkout Singular"
53+
uses: actions/checkout@v6
54+
with:
55+
repository: 'Singular/Singular'
56+
ref: ${{ matrix.singular-version }}
57+
path: 'SINGULARROOT'
58+
- name: "Install dependencies (for macOS)"
59+
if: runner.os == 'macOS'
60+
run: |
61+
brew install autoconf automake libtool
62+
- name: "Run autogen.sh in SINGULARROOT"
63+
run: |
64+
mv SINGULARROOT /tmp/SINGULARROOT
65+
cd /tmp/SINGULARROOT
66+
./autogen.sh
67+
- name: "Override bundled Singular"
68+
run: |
69+
julia --proj=override etc/setup_override_dir.jl /tmp/SINGULARROOT /tmp/singular_jll_override
70+
- name: "Run tests"
71+
run: |
72+
julia --proj=override etc/run_with_override.jl /tmp/singular_jll_override --depwarn=error -e "using Pkg; Pkg.test(\"Singular\")"
73+

0 commit comments

Comments
 (0)