Skip to content

Commit 802e473

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into conda-python-13
2 parents ac5a4ff + dc99dc8 commit 802e473

File tree

610 files changed

+11490
-7568
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

610 files changed

+11490
-7568
lines changed

.devcontainer/onCreate-conda.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ mamba env create -y --file environment-3.11-linux.yml || mamba env update -y --f
1010
conda init bash
1111

1212
# Build sage
13-
conda run -n sage-dev ./bootstrap
14-
conda run -n sage-dev pip install --no-build-isolation -v -v -e ./src
13+
conda run -n sage-dev pip install --no-build-isolation -v -v -e .

.github/workflows/build.yml

Lines changed: 2 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ concurrency:
2929
#
3030
# The three workflows:
3131
#
32-
# - build.yml (with jobs test-new, test-mod, test-long),
32+
# - build.yml (with jobs test-new, test-long),
3333
# - doc-build.yml,
3434
# - doc-build-pdf.yml
3535
#
@@ -50,7 +50,7 @@ concurrency:
5050
# This baseline is transparently improved by our use of the GH Actions cache,
5151
# see https://docs.docker.com/build/ci/github-actions/cache/#cache-backend-api.
5252
#
53-
# Jobs test-mod and test-long are only started after test-new completed;
53+
# Jobs test-long is only started after test-new completed;
5454
# but the workflows doc-build.yml and doc-build-pdf.yml are started independently.
5555
#
5656
# - When nothing is cached and the 3 workflows are launched in parallel,
@@ -254,104 +254,6 @@ jobs:
254254
./sage -t --long --format github -p4 ${{ steps.changed-files.outputs.doctests_all_changed_files }}
255255
shell: sh .ci/docker-exec-script.sh BUILD /sage {0}
256256

257-
test-mod:
258-
runs-on: ubuntu-latest
259-
needs: [test-new]
260-
services:
261-
# https://docs.docker.com/build/ci/github-actions/local-registry/
262-
registry:
263-
image: registry:2
264-
ports:
265-
- 5000:5000
266-
strategy:
267-
fail-fast: false
268-
matrix:
269-
targets:
270-
- sagemath_categories-check
271-
steps:
272-
- name: Maximize build disk space
273-
uses: easimon/maximize-build-space@v10
274-
with:
275-
# need space in /var for Docker images
276-
root-reserve-mb: 30000
277-
remove-dotnet: true
278-
remove-android: true
279-
remove-haskell: true
280-
remove-codeql: true
281-
remove-docker-images: true
282-
283-
- name: Checkout
284-
id: checkout
285-
uses: actions/checkout@v4
286-
287-
- name: Install test prerequisites
288-
# From docker.yml
289-
run: |
290-
sudo DEBIAN_FRONTEND=noninteractive apt-get update
291-
sudo DEBIAN_FRONTEND=noninteractive apt-get install tox
292-
sudo apt-get clean
293-
df -h
294-
295-
- name: Merge CI fixes from sagemath/sage
296-
# From docker.yml
297-
# This step needs to happen after the commit sha is put in DOCKER_TAG
298-
# so that multi-stage builds can work correctly.
299-
run: |
300-
.ci/merge-fixes.sh
301-
env:
302-
GH_TOKEN: ${{ github.token }}
303-
304-
# Building
305-
306-
- name: Generate Dockerfile
307-
# From docker.yml
308-
run: |
309-
tox -e ${{ env.TOX_ENV }}
310-
cp .tox/${{ env.TOX_ENV }}/Dockerfile .
311-
env:
312-
# Only generate the Dockerfile, do not run 'docker build' here
313-
DOCKER_TARGETS: ""
314-
315-
- name: Set up Docker Buildx
316-
uses: docker/setup-buildx-action@v3
317-
with:
318-
driver-opts: network=host
319-
320-
- name: Build Docker image
321-
id: image
322-
uses: docker/build-push-action@v6
323-
with:
324-
push: true
325-
load: false
326-
context: .
327-
tags: ${{ env.BUILD_IMAGE }}
328-
target: with-targets
329-
cache-from: type=gha
330-
cache-to: type=gha,mode=max
331-
build-args: |
332-
NUMPROC=6
333-
USE_MAKEFLAGS=-k V=0 SAGE_NUM_THREADS=4 --output-sync=recurse
334-
TARGETS_PRE=build/make/Makefile
335-
TARGETS=${{ needs.test-new.outputs.build_targets }}
336-
337-
- name: Start container
338-
id: container
339-
if: (success() || failure())
340-
run: |
341-
docker run --name BUILD -dit \
342-
--mount type=bind,src=$(pwd),dst=$(pwd) \
343-
--workdir $(pwd) \
344-
${{ env.BUILD_IMAGE }} /bin/sh
345-
346-
# Testing
347-
348-
- name: Test modularized distributions
349-
if: (success() || failure()) && steps.container.outcome == 'success'
350-
run: |
351-
export MAKE="make -j2 --output-sync=recurse" SAGE_NUM_THREADS=4
352-
make V=0 tox-ensure && make ${{ matrix.targets }}
353-
shell: sh .ci/docker-exec-script.sh BUILD /sage {0}
354-
355257
test-long:
356258
runs-on: ubuntu-latest
357259
needs: [test-new]

.github/workflows/ci-conda.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
# On pushes to tags or branches, test the whole matrix.
2727
os: >-
2828
${{ github.event_name == 'pull_request'
29-
&& fromJson('["ubuntu-latest", "macos-latest"]')
29+
&& fromJson('["ubuntu-latest", "macos-latest", "macos-latest"]')
3030
|| fromJson('["ubuntu-latest", "macos-latest", "macos-13"]') }}
3131
python: ['3.11', '3.12', '3.13']
3232
# Optional environment is disabled for now as its not yet working

.github/workflows/ci-meson.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,23 @@ jobs:
6969
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
7070
export CC="ccache $CC"
7171
export CXX="ccache $CXX"
72-
pip install --no-build-isolation --config-settings=builddir=builddir . -v
72+
# Use --no-deps and pip check below to verify that all necessary dependencies are installed via conda
73+
pip install --no-build-isolation --no-deps --config-settings=builddir=builddir . -v
74+
75+
- name: Verify dependencies
76+
shell: bash -l {0}
77+
run: pip check
7378

7479
- name: Test
7580
shell: bash -l {0}
7681
run: |
7782
# We don't install sage_setup, so don't try to test it
7883
rm -R ./src/sage_setup/
7984
./sage -t --all -p4
85+
86+
- name: Upload log
87+
uses: actions/[email protected]
88+
if: failure()
89+
with:
90+
name: ${{ runner.os }}-meson-${{ matrix.python }}-log
91+
path: builddir/meson-logs/

.github/workflows/dist.yml

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,38 @@ jobs:
119119
with:
120120
name: dist
121121
path: dist
122-
- uses: softprops/action-gh-release@v2
122+
- name: Create release
123+
env:
124+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
125+
run: |
126+
latest_release_tag=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases \
127+
| jq -r 'sort_by(.created_at) | last(.[]).tag_name')
128+
release_notes=$(curl -s \
129+
-X POST \
130+
-H "Accept: application/vnd.github+json" \
131+
-H "Authorization: Bearer $GITHUB_TOKEN" \
132+
-H "X-GitHub-Api-Version: 2022-11-28" \
133+
https://api.github.com/repos/${{ github.repository }}/releases/generate-notes \
134+
-d "{
135+
\"tag_name\": \"${{ github.ref_name }}\",
136+
\"previous_tag_name\": \"$latest_release_tag\"
137+
}" | jq -r '.body')
138+
# escape special characters for json
139+
release_notes=$(jq -R -s '.' <<< "$release_notes")
140+
curl -L \
141+
-X POST \
142+
-H "Accept: application/vnd.github+json" \
143+
-H "Authorization: Bearer $GITHUB_TOKEN" \
144+
-H "X-GitHub-Api-Version: 2022-11-28" \
145+
https://api.github.com/repos/${{ github.repository }}/releases \
146+
-d "{
147+
\"tag_name\": \"${{ github.ref_name }}\",
148+
\"prerelease\": ${{ contains(github.ref, 'beta') || contains(github.ref, 'rc') }},
149+
\"body\": $release_notes
150+
}"
151+
- name: Create release assets
152+
uses: softprops/action-gh-release@v2
123153
with:
124-
generate_release_notes: true
125-
prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
126154
files: |
127155
dist/*
128156
upstream/*

.github/workflows/pyright.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
eval $(sage-print-system-package-command auto --spkg --yes --no-install-recommends install git)
3333
3434
- name: Install GH CLI
35-
uses: dev-hanz-ops/[email protected].0
35+
uses: dev-hanz-ops/[email protected].1
3636
with:
3737
gh-cli-version: 2.32.0
3838

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
/config.log
1919
/config.status
2020
/configure
21-
/conftest*
2221
/confdefs.h
2322

2423
/m4/sage_spkg_configures.m4

.vscode/settings.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
},
1919
"python.testing.pytestEnabled": true,
2020
"python.testing.pytestArgs": [
21-
"--rootdir=src/sage",
22-
"-c=src/tox.ini",
23-
"--doctest-modules"
21+
"--doctest"
2422
],
2523
"python.testing.unittestEnabled": false,
2624
"cSpell.words": [
@@ -110,5 +108,11 @@
110108
"zmin"
111109
],
112110
"editor.formatOnType": true,
113-
"esbonio.sphinx.confDir": ""
111+
"esbonio.sphinx.confDir": "",
112+
// Don't update the settings.json file with values inferred from Meson (we provide them manually)
113+
"mesonbuild.modifySettings": false,
114+
// Use the Meson build system for C/C++ files
115+
"C_Cpp.default.configurationProvider": "mesonbuild.mesonbuild",
116+
// Use the compile_commands.json file generated by Meson for IntelliSense
117+
"C_Cpp.default.compileCommands": "${workspaceFolder}/builddir/compile_commands.json"
114118
}

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ title: SageMath
44
abstract: SageMath is a free open-source mathematics software system.
55
authors:
66
- name: "The SageMath Developers"
7-
version: 10.6.beta2
7+
version: 10.6.beta5
88
doi: 10.5281/zenodo.8042260
9-
date-released: 2024-12-22
9+
date-released: 2025-01-26
1010
repository-code: "https://github.com/sagemath/sage"
1111
url: "https://www.sagemath.org/"

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ distclean: build-clean
173173
bootstrap-clean:
174174
rm -rf config/install-sh config/compile config/config.guess config/config.sub config/missing configure build/make/Makefile-auto.in
175175
rm -f src/doc/en/installation/*.txt
176-
find src/doc/en/reference/spkg -name index.rst -prune -o -maxdepth 1 -name "*.rst" -exec rm -f {} \+
176+
find src/doc/en/reference/spkg -maxdepth 1 -name index.rst -prune -o -name "*.rst" -exec rm -f {} \+
177177
for a in environment environment-optional src/environment src/environment-optional; do rm -f $$a.yml $$a-3.[89].yml $$a-3.1[0-9].yml; done
178178
rm -f src/requirements.txt
179179
rm -f src/setup.cfg

0 commit comments

Comments
 (0)