-
-
Notifications
You must be signed in to change notification settings - Fork 478
109 lines (98 loc) · 3.65 KB
/
ci-linux.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
name: CI Linux
on:
push:
tags:
- '*'
# TODO: Remove this before merging
pull_request:
workflow_dispatch:
# Allow to run manually
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
container:
- ubuntu:trusty
- ubuntu:xenial
- ubuntu:bionic
- ubuntu:focal
- ubuntu:jammy
- ubuntu:lunar
- ubuntu:mantic
- debian:buster
- debian:bullseye
- debian:bookworm
- debian:trixie
- debian:sid
- linuxmintd/mint:20.1
- linuxmintd/mint:20.2
- linuxmintd/mint:20.3
- linuxmintd/mint:21
- linuxmintd/mint:21.1
- linuxmintd/mint:21.2
- fedora:30
- fedora:31
- fedora:32
- fedora:33
- fedora:34
- fedora:35
- fedora:36
- fedora:37
- fedora:38
- fedora:39
- centos:centos7
- quay.io/centos/centos:stream8
- quay.io/centos/centos:stream9
- almalinux:8
- almalinux:9
- sheerluck/sage-on-gentoo-stage4
- archlinux
- opensuse/leap:15.3
- opensuse/leap:15.4
- opensuse/leap:15.5
- opensuse/tumbleweed
- i386/ubuntu:bionic
- i386/debian:bullseye
container:
image: ${{ matrix.container }}
steps:
- name: Checkout code
# cannot use v4 yet because of https://github.com/actions/checkout/issues/1487
uses: actions/checkout@v3
- name: Install dependencies
run: |
SYSTEM=$(build/bin/sage-guess-package-system)
INSTALL_PYTHON=$(python3 -c 'import sys; print(sys.version_info < (3, 9))' || echo 'True')
eval $(build/bin/sage-print-system-package-command $SYSTEM update)
# We cannot use the setup python action because it doesn't support all containers
# https://github.com/actions/setup-python/issues/527
if [ $INSTALL_PYTHON = 'True' ]; then
eval $(build/bin/sage-print-system-package-command $SYSTEM --yes --ignore-missing install $(build/bin/sage-get-system-packages $SYSTEM _python3.9))
fi
eval $(build/bin/sage-print-system-package-command $SYSTEM --yes --ignore-missing install $(build/bin/sage-get-system-packages $SYSTEM $(build/bin/sage-package list :standard:)))
# Needed for bootstrap
pip3 install jinja2
# Needed to download and install cypari2 below
eval $(build/bin/sage-print-system-package-command $SYSTEM --yes --ignore-missing install git)
# # Download and install pari for cypari2
# # https://github.com/sagemath/cypari2/issues/145
# eval $(build/bin/sage-print-system-package-command $SYSTEM --yes --ignore-missing install wget sudo)
# wget https://raw.githubusercontent.com/sagemath/cypari2/master/.install-pari.sh
# chmod +x .install-pari.sh
# ./.install-pari.sh
env:
PARI_VERSION: pari-2.15.4
- name: Bootstrap
run: python3 -m sage_setup.autogen.interpreters src/sage/ext/interpreters
env:
PYTHONPATH: src
- name: Build
run: |
# Cannot yet use build isolation due to https://github.com/sagemath/cypari2/issues/143
pip3 install meson-python 'cython>=3.0.0,!=3.0.3' 'numpy>=1.19' 'cysignals>=1.10.2' 'gmpy2>=2.1.0'
pip3 install --no-build-isolation git+https://github.com/sagemath/cypari2.git
pip3 install --no-build-isolation . -v
- name: Test
run: ./sage -t --all -p4 || true