Skip to content

Commit e5bfd44

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into fix-exterior-algebra-bug
2 parents 647d329 + 9f90540 commit e5bfd44

File tree

1,388 files changed

+27647
-16183
lines changed

Some content is hidden

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

1,388 files changed

+27647
-16183
lines changed

.devcontainer/onCreate-meson.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
SYSTEM=$(build/bin/sage-guess-package-system)
44

5-
if [ "$SYSTEM" = "fedora" ]; then
5+
if [ "$SYSTEM" = "fedora" ] && [ -f /etc/fedora-release ]; then
66
# Need to use --setopt=tsflags="" to avoid errors with gphelp
77
dnf5 install -y pari-gp --setopt=tsflags=""
88

@@ -16,15 +16,16 @@ eval $(build/bin/sage-print-system-package-command $SYSTEM --yes --ignore-missin
1616

1717
# Disable build isolation following the advice of https://mesonbuild.com/meson-python/how-to-guides/editable-installs.html#build-dependencies
1818
# Install build dependencies manually as workaround for https://github.com/astral-sh/uv/issues/1516
19-
uv venv
19+
uv venv --clear
20+
. $UV_PROJECT_ENVIRONMENT/bin/activate # https://github.com/astral-sh/uv/issues/14022
2021
uv pip install \
2122
meson-python \
2223
"cypari2 >=2.2.1" \
2324
"cysignals >=1.11.2, != 1.12.0" \
2425
"cython >=3.0, != 3.0.3, < 3.1.0" \
25-
"gmpy2 ~=2.1.b999" \
26+
"gmpy2 >=2.1.5" \
2627
memory_allocator \
2728
"numpy >=1.25" \
2829
jinja2 \
2930
setuptools
30-
uv sync --frozen --inexact --no-build-isolation --config-settings=builddir=build/build-$SYSTEM
31+
uv sync --frozen --inexact --no-build-isolation -v --config-settings=builddir=build/build-$SYSTEM-$devcontainerId

.devcontainer/portability-archlinux/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
"version": "latest"
1414
}
1515
},
16+
"containerEnv": {
17+
"devcontainerId": "${devcontainerId}",
18+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
19+
},
1620
"customizations": {
1721
"vscode": {
1822
"extensions": [

.devcontainer/portability-fedora-41/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"version": "latest"
1111
}
1212
},
13+
"containerEnv": {
14+
"devcontainerId": "${devcontainerId}",
15+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
16+
},
1317
"customizations": {
1418
"vscode": {
1519
"extensions": [

.devcontainer/portability-fedora-42/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"version": "latest"
1111
}
1212
},
13+
"containerEnv": {
14+
"devcontainerId": "${devcontainerId}",
15+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
16+
},
1317
"customizations": {
1418
"vscode": {
1519
"extensions": [

.devcontainer/portability-ubuntu-2204/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"version": "latest"
1111
}
1212
},
13+
"containerEnv": {
14+
"devcontainerId": "${devcontainerId}",
15+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
16+
},
1317
"customizations": {
1418
"vscode": {
1519
"extensions": [

.devcontainer/portability-ubuntu-2404/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"version": "latest"
1111
}
1212
},
13+
"containerEnv": {
14+
"devcontainerId": "${devcontainerId}",
15+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
16+
},
1317
"customizations": {
1418
"vscode": {
1519
"extensions": [

.devcontainer/portability-ubuntu-2504/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
"version": "latest"
1111
}
1212
},
13+
"containerEnv": {
14+
"devcontainerId": "${devcontainerId}",
15+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
16+
},
1317
"customizations": {
1418
"vscode": {
1519
"extensions": [

.devcontainer/portability-void/devcontainer.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
"version": "latest"
1515
}
1616
},
17+
"containerEnv": {
18+
"devcontainerId": "${devcontainerId}",
19+
"UV_PROJECT_ENVIRONMENT": ".venv-${devcontainerId}"
20+
},
1721
"customizations": {
1822
"vscode": {
1923
"extensions": [

.github/sync_labels.py

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,17 @@ def get_commits(self):
408408
return self._commits
409409

410410
self._commits = self.view('commits')
411-
self._commit_date = max( com['committedDate'] for com in self._commits )
411+
412+
# ignore merge commits with the develop branch for _commit_date unless positive review is set
413+
date_commits = list(self._commits)
414+
if Status.positive_review.value not in self.get_labels():
415+
for com in self._commits:
416+
message = com['messageHeadline']
417+
if message.startswith('Merge') and 'develop' in message:
418+
debug('Ignore merge commit %s for commit_date' % com['oid'])
419+
date_commits.remove(com)
420+
421+
self._commit_date = max(com['committedDate'] for com in date_commits)
412422
info('Commits until %s for %s: %s' % (self._commit_date, self._issue, self._commits))
413423
return self._commits
414424

@@ -1034,6 +1044,35 @@ def run_tests(self):
10341044
elif self.is_pull_request():
10351045
self.run(action)
10361046

1047+
def test_method(self, method, *args, **kwds):
1048+
r"""
1049+
Run the given method for testing.
1050+
1051+
EXAMPLES::
1052+
1053+
sage$ python .github/sync_labels.py https://github.com/sagemath/sage/pull/40634 soehms is_auth_team_member "{'login': 'soehms'}" -t
1054+
INFO:root:cmdline_args (4) ['https://github.com/sagemath/sage/pull/40634', 'soehms', 'is_auth_team_member', "{'login': 'soehms'}"]
1055+
...
1056+
DEBUG:root:call is_auth_team_member with args () and kwds {'login': 'soehms'}
1057+
DEBUG:root:================================================================================
1058+
DEBUG:root:Execute command: gh api -X GET -H "Accept: application/vnd.github+json" /orgs/sagemath/teams/triage/memberships/soehms
1059+
INFO:root:User soehms is a member of triage
1060+
INFO:root:result of is_auth_team_member with args () and kwds {'login': 'soehms'} is True
1061+
INFO:root:================================================================================
1062+
...
1063+
"""
1064+
if hasattr(self, method):
1065+
meth = self.__getattribute__(method)
1066+
if callable(meth):
1067+
debug('call %s with args %s and kwds %s' % (method, args, kwds))
1068+
debug('='*80)
1069+
res = meth(*args, **kwds)
1070+
info('result of %s with args %s and kwds %s is %s' % (method, args, kwds, res))
1071+
info('='*80)
1072+
debug('state of self: %s' % self.__dict__)
1073+
return
1074+
raise ValueError('%s is not a method of %s' % (method, self))
1075+
10371076

10381077
###############################################################################
10391078
# Main
@@ -1068,8 +1107,10 @@ def run_tests(self):
10681107
num_args = len(cmdline_args)
10691108
info('cmdline_args (%s) %s' % (num_args, cmdline_args))
10701109

1071-
if run_tests and num_args in (1,2):
1072-
if num_args == 2:
1110+
if run_tests:
1111+
if num_args == 4:
1112+
url, actor, method, args = cmdline_args
1113+
elif num_args == 2:
10731114
url, actor = cmdline_args
10741115
else:
10751116
url, = cmdline_args
@@ -1079,7 +1120,10 @@ def run_tests(self):
10791120
info('actor: %s' % actor)
10801121

10811122
gh = GhLabelSynchronizer(url, actor)
1082-
gh.run_tests()
1123+
if num_args == 4:
1124+
gh.test_method(method, **eval(args))
1125+
else:
1126+
gh.run_tests()
10831127

10841128
elif num_args == 5:
10851129
action, url, actor, label, rev_state = cmdline_args

.github/workflows/ci-distro.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,8 @@ on:
1919
paths:
2020
- '.github/workflows/ci-distro.yml'
2121
- 'build/pkgs/**'
22+
- 'build/make/**'
2223
- 'configure.ac'
23-
- '!build/pkgs/sage_conf/**'
24-
- '!build/pkgs/sage_docbuild/**'
25-
- '!build/pkgs/sage_setup/**'
26-
- '!build/pkgs/sage_sws2rst/**'
27-
- '!build/pkgs/sagelib/**'
28-
- '!build/pkgs/sagemath_*/**'
2924
push:
3025
tags:
3126
- '*'
@@ -35,7 +30,7 @@ on:
3530
env:
3631
TARGETS_PRE: all-sage-local
3732
TARGETS: build
38-
TARGETS_OPTIONAL: ptest
33+
TARGETS_OPTIONAL: ptestlong
3934

4035
permissions:
4136
packages: write
@@ -56,7 +51,7 @@ jobs:
5651
# FIXME: duplicated from env.TARGETS
5752
targets_pre: all-sage-local
5853
targets: build
59-
targets_optional: ptest
54+
targets_optional: ptestlong
6055
tox_system_factors: >-
6156
["ubuntu-jammy"]
6257
tox_packages_factors: >-
@@ -71,7 +66,7 @@ jobs:
7166
docker_targets: "with-system-packages configured with-targets-pre with-targets with-targets-optional"
7267
targets_pre: all-sage-local
7368
targets: build
74-
targets_optional: ptest
69+
targets_optional: ptestlong
7570
tox_packages_factors: >-
7671
["standard"]
7772
docker_push_repository: ghcr.io/${{ github.repository }}/

0 commit comments

Comments
 (0)