Skip to content

Update portability tests to use Meson #70

Update portability tests to use Meson

Update portability tests to use Meson #70

Workflow file for this run

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:)))
pip3 install jinja2
# Download and install pari for cypari2
# https://github.com/sagemath/cypari2/issues/145
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 'cypari2>=2.1.1'
pip3 install --no-build-isolation . -v
- name: Test
run: ./sage -t --all -p4 || true