1- name : CI
2-
3- # # This GitHub Actions workflow provides:
4- # #
5- # # - portability testing, by building and testing this project on many platforms
6- # # (Linux variants and Cygwin), each with two configurations (installed packages),
7- # #
8- # # - continuous integration, by building and testing other software
9- # # that depends on this project.
10- # #
11- # # It runs on every pull request and push of a tag to the GitHub repository.
12- # #
13- # # The testing can be monitored in the "Actions" tab of the GitHub repository.
14- # #
15- # # After all jobs have finished (or are canceled) and a short delay,
16- # # tar files of all logs are made available as "build artifacts".
17- # #
18- # # This GitHub Actions workflow uses the portability testing framework
19- # # of SageMath (https://www.sagemath.org/). For more information, see
20- # # https://doc.sagemath.org/html/en/developer/portability_testing.html
21-
22- # # The workflow consists of two jobs:
23- # #
24- # # - First, it builds a source distribution of the project
25- # # and generates a script "update-pkgs.sh". It uploads them
26- # # as a build artifact named upstream.
27- # #
28- # # - Second, it checks out a copy of the SageMath source tree.
29- # # It downloads the upstream artifact and replaces the project's
30- # # package in the SageMath distribution by the newly packaged one
31- # # from the upstream artifact, by running the script "update-pkgs.sh".
32- # # Then it builds a small portion of the Sage distribution.
33- # #
34- # # Many copies of the second step are run in parallel for each of the tested
35- # # systems/configurations.
36-
37- # on: [push, pull_request]
1+ name : Build & Test
382
393on :
404 pull_request :
@@ -51,45 +15,14 @@ concurrency:
5115 cancel-in-progress : true
5216
5317jobs :
54- cygwin :
55- runs-on : windows-latest
56- strategy :
57- fail-fast : false
58- matrix :
59- python-version-start : [python-3]
60- python-version : [9]
61- steps :
62- - run : |
63- git config --global core.autocrlf false
64- git config --global core.symlinks true
65- - name : Set up the repository
66- uses : actions/checkout@v4
67- with :
68- submodules : recursive
69- fetch-depth : 0
70- - name : Set up Cygwin
71- uses : egor-tensin/setup-cygwin@v4
72- with :
73- packages : gcc-core gcc-g++ python3${{ matrix.python-version }}-devel ninja pkgconf
74- - name : Install dependencies
75- shell : C:\tools\cygwin\bin\bash.exe --norc -eo pipefail -o igncr '{0}'
76- run : |
77- python3.${{ matrix.python-version }} -m pip install --upgrade pip
78- python3.${{ matrix.python-version }} -m pip install --upgrade -r ./requirements.txt
79- - name : Build and check
80- shell : C:\tools\cygwin\bin\bash.exe --norc -eo pipefail -o igncr '{0}'
81- run : |
82- pip install --no-build-isolation --config-settings=builddir=builddir .
83- meson test --print-errorlogs -C builddir
84-
8518 ci :
86- name : CI ( ${{ matrix.os }} with Python ${{ matrix.python-version }})
19+ name : ${{ matrix.os }} with python ${{ matrix.python-version }}
8720 runs-on : ${{ matrix.os }}
8821 strategy :
8922 fail-fast : false
9023 matrix :
9124 os : ['macos-13', 'macos-latest', 'ubuntu-latest', 'windows-latest']
92- python-version : ['3.10', '3.11', '3.12', '3.13-dev ']
25+ python-version : ['3.10', '3.11', '3.12', '3.13']
9326 steps :
9427 - name : Set up the repository
9528 uses : actions/checkout@v4
0 commit comments