Skip to content

Commit 068c923

Browse files
authored
Merge pull request #223 from tornaria/ci
A few improvements in CI
2 parents ad3ecea + 25a9ee5 commit 068c923

File tree

2 files changed

+4
-71
lines changed

2 files changed

+4
-71
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,4 @@
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

393
on:
404
pull_request:
@@ -51,45 +15,14 @@ concurrency:
5115
cancel-in-progress: true
5216

5317
jobs:
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

meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ subdir('src')
104104

105105
pytest = py_module.find_installation(modules: ['pytest'], required: false)
106106
if pytest.found()
107-
test('pytest', pytest, args: ['-m', 'pytest'], workdir: meson.current_source_dir(), timeout: 300)
107+
test('pytest', pytest, args: ['-m', 'pytest'], workdir: meson.current_source_dir(), timeout: 300, verbose: true, is_parallel: false)
108108
else
109109
message('pytest not found, skipping tests')
110110
endif

0 commit comments

Comments
 (0)