Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Merge #29865
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthias Koeppe committed Nov 23, 2021
2 parents 0351b5a + 9ef0567 commit 9bcd125
Show file tree
Hide file tree
Showing 2,915 changed files with 159,912 additions and 73,191 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci-cygwin-minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ env:
MAKE: make -j8
SAGE_NUM_THREADS: 3
CYGWIN: winsymlinks:native
CONFIGURE_ARGS: --enable-experimental-packages --enable-download-from-upstream-url --enable-fat-binary
EXTRA_CONFIGURE_ARGS: --enable-fat-binary
SAGE_LOCAL: /opt/sage-${{ github.sha }}

jobs:
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
cygwin-stage-i-b:
env:
STAGE: i-b
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing nose certifi pkgconfig pplpy
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing certifi pkgconfig pplpy
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-cygwin-standard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ env:
MAKE: make -j8
SAGE_NUM_THREADS: 3
CYGWIN: winsymlinks:native
CONFIGURE_ARGS: --enable-experimental-packages --enable-download-from-upstream-url --enable-fat-binary
EXTRA_CONFIGURE_ARGS: --enable-fat-binary
SAGE_LOCAL: /opt/sage-${{ github.sha }}

jobs:
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
cygwin-stage-i-b:
env:
STAGE: i-b
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing nose certifi pkgconfig pplpy
TARGETS: cython setuptools_scm kiwisolver dateutil cycler pyparsing certifi pkgconfig pplpy
LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-cygwin-${{ matrix.pkgs }}

Expand Down
14 changes: 0 additions & 14 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,3 @@ jobs:
run: pip install tox relint
- name: Lint using relint
run: tox -e relint src/sage/
lint-pyright:
name: Static type check with pyright
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up node to install pyright
uses: actions/setup-node@v1
with:
node-version: '12'
- name: Install pyright
run: npm install -g pyright
- name: Lint using pyright
run: pyright
45 changes: 45 additions & 0 deletions .github/workflows/sdist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Prepare source distributions

on:
push:
tags:
# Match all release tags including beta, rc
- '[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.beta[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+.beta[0-9]+'
- '[0-9]+.[0-9]+.rc[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+.rc[0-9]+'

workflow_dispatch:
# Allow to run manually

jobs:

release_dist:

# This job, in contrast to "dist" in tox.yml,
# does not use "configure --enable-download-from-upstream-url".
#
# In this way, we check that all necessary package tarballs
# have already been uploaded to the Sage server at the time
# of pushing a release tag.
#
# It also uses "bootstrap -D", thus checking that the "configure"
# tarball has been uploaded to the Sage server at the time
# of pushing a release tag.

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install bootstrap prerequisites
run: |
sudo DEBIAN_FRONTEND=noninteractive apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install $(build/bin/sage-get-system-packages debian _bootstrap)
- name: make dist
run: |
./bootstrap -D && ./configure && make dist
- uses: actions/upload-artifact@v2
with:
path: "dist/*.tar.gz"
name: release_dist
11 changes: 8 additions & 3 deletions .github/workflows/tox-experimental.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,17 @@ jobs:
matrix:
# This list is different from the one in tox.yml:
# Trac #31526 switches gcc 4.x-based distributions to using the gcc_spkg configuration factor
tox_system_factor: [ubuntu-trusty-gcc_spkg, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie-gcc_spkg, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17-gcc_spkg, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7-gcc_spkg, centos-8, gentoo, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-gcc_spkg]
# Trac #32281 removes gcc 4.x-based distributions whose binutils are unusable
tox_system_factor: [ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie-gcc_spkg, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7-gcc_spkg, centos-8, gentoo-python3.9, gentoo-python3.10, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386-gcc_spkg]
tox_packages_factor: [maximal]
targets_pattern: [0-g, h-o, p, q-z]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
DOCKER_TARGETS: configured with-targets with-targets-optional
TARGETS_OPTIONAL: "$( echo $(PATH=build/bin:$PATH build/bin/sage-package list :experimental: | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep '^[${{ matrix.targets_pattern }}]' ) )"
# Test all non-dummy experimental packages, but do not test huge packages
# and do not test packages that require external software
TARGETS_OPTIONAL: "$( echo $(export PATH=build/bin:$PATH && sage-package list :experimental: --has-file spkg-install.in && sage-package list :experimental: --has-file spkg-install && sage-package list :experimental: --has-file requirements.txt | grep -v ^_ | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
steps:
- uses: actions/checkout@v2
with:
Expand Down Expand Up @@ -146,7 +149,9 @@ jobs:
env:
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
TARGETS_OPTIONAL: "$( echo $(PATH=build/bin:$PATH build/bin/sage-package list :experimental: | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep '^[${{ matrix.targets_pattern }}]' ) )"
# Test all non-dummy experimental packages, but do not test huge packages
# and do not test packages that require external software
TARGETS_OPTIONAL: "$( echo $(export PATH=build/bin:$PATH && sage-package list :experimental: --has-file spkg-install.in && sage-package list :experimental: --has-file spkg-install && sage-package list :experimental: --has-file requirements.txt | grep -v ^_ | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
steps:
- uses: actions/checkout@v2
- name: Select Xcode version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tox-gcc_spkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:
# Allow to run manually

env:
TARGETS_PRE: sagelib-build-deps
TARGETS_PRE: all-sage-local
TARGETS: build doc-html
TARGETS_OPTIONAL: ptest

Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/tox-optional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,17 @@ jobs:
matrix:
# This list is different from the one in tox.yml:
# Trac #31526 switches gcc 4.x-based distributions to using the gcc_spkg configuration factor
tox_system_factor: [ubuntu-trusty-gcc_spkg, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie-gcc_spkg, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17-gcc_spkg, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7-gcc_spkg, centos-8, gentoo, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-gcc_spkg]
# Trac #32281 removes gcc 4.x-based distributions whose binutils are unusable
tox_system_factor: [ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie-gcc_spkg, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7-gcc_spkg, centos-8, gentoo-python3.9, gentoo-python3.10, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386-gcc_spkg]
tox_packages_factor: [maximal]
targets_pattern: [0-g, h-o, p, q-z]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
DOCKER_TARGETS: configured with-targets with-targets-optional
# Test all optional packages, but do not test huge packages,
# Test all non-dummy optional packages, but do not test huge packages
# and do not test packages that require external software
TARGETS_OPTIONAL: "$( echo $(PATH=build/bin:$PATH build/bin/sage-package list :optional: | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
TARGETS_OPTIONAL: "$( echo $(export PATH=build/bin:$PATH && (sage-package list :optional: --has-file spkg-install.in && sage-package list :optional: --has-file spkg-install && sage-package list :optional: --has-file requirements.txt) | grep -v ^_ | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
steps:
- uses: actions/checkout@v2
with:
Expand Down Expand Up @@ -148,9 +149,9 @@ jobs:
env:
TOX_ENV: local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-tox-local-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}-${{ matrix.os }}-xcode_${{ matrix.xcode_version_factor }}
# Test all optional packages, but do not test huge packages
# Test all non-dummy optional packages, but do not test huge packages
# and do not test packages that require external software
TARGETS_OPTIONAL: "$( echo $(PATH=build/bin:$PATH build/bin/sage-package list :optional: | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
TARGETS_OPTIONAL: "$( echo $(export PATH=build/bin:$PATH && (sage-package list :optional: --has-file spkg-install.in && sage-package list :optional: --has-file spkg-install && sage-package list :optional: --has-file requirements.txt) | grep -v ^_ | grep -v database_stein_watkins\\$ | grep -v polytopes_db_4d | grep -v cplex | grep -v gurobi | grep '^[${{ matrix.targets_pattern }}]' ) )"
steps:
- uses: actions/checkout@v2
- name: Select Xcode version
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:
# Allow to run manually

env:
TARGETS_PRE: sagelib-build-deps
TARGETS_PRE: all-sage-local
TARGETS: build doc-html
TARGETS_OPTIONAL: ptest

Expand All @@ -38,7 +38,7 @@ jobs:
fail-fast: false
max-parallel: 20
matrix:
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, centos-7, centos-8, gentoo, gentoo-python3.7, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_system_factor: [ubuntu-trusty, ubuntu-xenial, ubuntu-bionic, ubuntu-focal, ubuntu-groovy, ubuntu-hirsute, ubuntu-impish, debian-jessie, debian-stretch, debian-buster, debian-bullseye, debian-sid, linuxmint-17, linuxmint-18, linuxmint-19, linuxmint-19.3, linuxmint-20.1, linuxmint-20.2, fedora-26, fedora-27, fedora-28, fedora-29, fedora-30, fedora-31, fedora-32, fedora-33, fedora-34, fedora-35, centos-7, centos-8, gentoo-python3.9, gentoo-python3.10, archlinux-latest, opensuse-15, opensuse-15.3, opensuse-tumbleweed, slackware-14.2, conda-forge, ubuntu-bionic-i386, manylinux-2_24-i686, debian-buster-i386, centos-7-i386]
tox_packages_factor: [minimal, standard]
env:
TOX_ENV: docker-${{ matrix.tox_system_factor }}-${{ matrix.tox_packages_factor }}
Expand Down Expand Up @@ -257,7 +257,7 @@ jobs:
SAGE_ROOT=. SAGE_SRC=./src src/bin/sage-update-version $(git describe) || echo "(ignoring error)"
- name: make dist
run: |
./configure && make dist
./configure --enable-download-from-upstream-url && make dist
- uses: actions/upload-artifact@v2
with:
path: "dist/*.tar.gz"
Expand Down
84 changes: 59 additions & 25 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
*.pyc
## We use this file both as .gitignore and .dockerignore,
## which have different semantics.

/dist
/local
/logs
Expand Down Expand Up @@ -33,15 +35,21 @@

# Various editors
*~
**/*~

# Emacs
\#*\#
**/\#*\#
.\#*
**/.\#*

# Vim
*.swp
**/*.swp
*.swo
**/*.swo
*.swn
**/*.swn
*.un~
.netrwhist

Expand All @@ -51,6 +59,7 @@

# VSCode
.vscode/*
**/.vscode/*

# XCode
xcuserdata/
Expand All @@ -61,6 +70,7 @@ xcuserdata/
.metadata
*.tmp
*.bak
**/*.bak
*.swp
*~.nib
.classpath
Expand All @@ -72,6 +82,7 @@ xcuserdata/

# OSX specific temporary files
.DS_Store
**/.DS_Store
._*
.AppleDouble
.LSOverride
Expand All @@ -98,44 +109,64 @@ gitlab-build-docker.log

# Byte-compiled / optimized / DLL files
__pycache__/
**/__pycache__
*.py[cod]
**/*.py[cod]
*$py.class

# Generated by sage_setup.autogen
/src/sage/ext/interpreters

# Generated Cython files
*.so
src/sage/**/*.c
src/sage/**/*.cpp
src/sage/modular/arithgroup/farey_symbol.h
!src/sage/cpython/debugimpl.c
!src/sage/graphs/base/boost_interface.cpp
!src/sage/graphs/cliquer/cl.c
!src/sage/graphs/graph_decompositions/sage_tdlib.cpp
!src/sage/libs/eclib/wrap.cpp
!src/sage/libs/linkages/padics/relaxed/flint_helper.c
!src/sage/misc/inherit_comparison_impl.c
!src/sage/modular/arithgroup/farey.cpp
!src/sage/modular/arithgroup/sl2z.cpp
!src/sage/rings/bernmm/bern_modp.cpp
!src/sage/rings/bernmm/bern_modp_util.cpp
!src/sage/rings/bernmm/bern_rat.cpp
!src/sage/rings/bernmm/bernmm-test.cpp
!src/sage/rings/padics/transcendantal.c
!src/sage/rings/polynomial/weil/power_sums.c
!src/sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.cpp
!src/sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.cpp
!src/sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_zn_poly.cpp
!src/sage/stats/distributions/dgs_bern.c
!src/sage/stats/distributions/dgs_gauss_dp.c
!src/sage/stats/distributions/dgs_gauss_mp.c
**/*.so
/src/sage/**/*.c
/src/sage/**/*.cpp
/src/sage/modular/arithgroup/farey_symbol.h
!/src/sage/cpython/debugimpl.c
!/src/sage/graphs/base/boost_interface.cpp
!/src/sage/graphs/cliquer/cl.c
!/src/sage/graphs/graph_decompositions/sage_tdlib.cpp
!/src/sage/libs/eclib/wrap.cpp
!/src/sage/libs/linkages/padics/relaxed/flint_helper.c
!/src/sage/misc/inherit_comparison_impl.c
!/src/sage/modular/arithgroup/farey.cpp
!/src/sage/modular/arithgroup/sl2z.cpp
!/src/sage/rings/bernmm/bern_modp.cpp
!/src/sage/rings/bernmm/bern_modp_util.cpp
!/src/sage/rings/bernmm/bern_rat.cpp
!/src/sage/rings/bernmm/bernmm-test.cpp
!/src/sage/rings/padics/transcendantal.c
!/src/sage/rings/polynomial/weil/power_sums.c
!/src/sage/schemes/hyperelliptic_curves/hypellfrob/hypellfrob.cpp
!/src/sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_ntl.cpp
!/src/sage/schemes/hyperelliptic_curves/hypellfrob/recurrences_zn_poly.cpp
!/src/sage/stats/distributions/dgs_bern.c
!/src/sage/stats/distributions/dgs_gauss_dp.c
!/src/sage/stats/distributions/dgs_gauss_mp.c
!/src/sage/symbolic/ginac/*.cpp
/src/cython_debug

# Temporary build files
build/temp.*/
build/bin/sage-build-env-config

# Generated files in the top-level source trees
/pkgs/*/build
/pkgs/*/dist
/pkgs/*/MANIFEST
/pkgs/*/*.egg-info
/pkgs/*/.tox

/pkgs/sagemath-objects/setup.cfg
/pkgs/sagemath-categories/setup.cfg
/pkgs/sagemath-objects/pyproject.toml
/pkgs/sagemath-categories/pyproject.toml
/pkgs/sagemath-objects/requirements.txt
/pkgs/sagemath-categories/requirements.txt
/pkgs/sagemath-categories/MANIFEST.in

# same for old locations - before Trac #31577
/build/pkgs/*/src/build
/build/pkgs/*/src/dist
/build/pkgs/*/src/MANIFEST
Expand All @@ -159,6 +190,7 @@ src/*.egg-info/
/src/bin/sage-src-env-config

# Virtual environments
/venv
src/.env
src/.venv
src/env/
Expand All @@ -173,7 +205,9 @@ src/venv.bak/
# tox generated files
/.tox
/build/.tox
**/.tox
/prefix

# git worktree
worktree*
**/worktree*
6 changes: 3 additions & 3 deletions .homebrew-build-env
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# that activate keg-only homebrew package installations

HOMEBREW=`brew --prefix` || return 1
for l in gettext bzip2 texinfo; do
for l in gettext bzip2 texinfo polymake; do
if [ -d "$HOMEBREW/opt/$l/bin" ]; then
PATH="$HOMEBREW/opt/$l/bin:$PATH"
fi
Expand All @@ -23,15 +23,15 @@ export PKG_CONFIG_PATH
LIBRARY_PATH="$HOMEBREW/lib$LIBRARY_PATH"
[ -z "$CPATH" ] || CPATH=":${CPATH}"
CPATH="$HOMEBREW/include$CPATH"
for l in readline bzip2 ntl; do
for l in readline bzip2 ntl polymake; do
if [ -d "$HOMEBREW/opt/$l/lib" ]; then
LIBRARY_PATH="$HOMEBREW/opt/$l/lib:$LIBRARY_PATH"
fi
if [ -d "$HOMEBREW/opt/$l/include" ]; then
CPATH="$HOMEBREW/opt/$l/include:$CPATH"
fi
done
for l in "gcc/lib/gcc/10 gcc/lib/gcc/9"; do
for l in "gcc/lib/gcc/11 gcc/lib/gcc/10 gcc/lib/gcc/9"; do
if [ -d "$HOMEBREW/opt/$l" ]; then
LIBRARY_PATH="$HOMEBREW/opt/$l:$LIBRARY_PATH"
break
Expand Down
Loading

0 comments on commit 9bcd125

Please sign in to comment.