Open mkoeppe opened 4 years ago
Description changed:
---
+++
@@ -54,6 +54,7 @@
- #30726: GH Actions: Test optional/experimental packages with Xcode 12
- #29527: tox.ini: Add docker-opensuse
- #30213: tox.ini: Add scientificlinux
+- #29356: Meta-ticket: more system pkgs info for various linuxes
- #32113: GH Actions: `conda-forge` tests broken
- #32947: `tox.ini`, GH Actions: Update Linux platforms
- #33196: `tox.ini`: Add `centos-stream-8`, `centos-stream-9`, remove defunct `centos-6`
@@ -62,18 +63,19 @@
- #31415: GH Actions workflow that builds documentation on each push
- #33306: `tox.ini`: Linux platform updates
- #32965: `tox` / GH Actions: Add `centos-7-devtoolset-gcc_{9,10,11}`
+- #32966: tox / GH Actions: Add ubuntu variants using `ppa:ubuntu-toolchain-r`
- #33263: Add github action running on each push
-- #30845: GH Actions: Add test for conda without SPKG
+- #30845: tox.ini, GH Actions: Add test for conda without SPKG
- #32703: GH Actions: Run a job for `make build-local` first, cache image for job `make build`
- #31211: `ci-cygwin*.yml`: Fix packaging up of SAGE_LOCAL/var/tmp/sage/build/*
- #30933: GH Actions: Repair upload of docker images
+- #31413: GH Actions: Add workflow with `configure --enable-editable`
+- #34228: `tox -e docker-...-incremental`
+- #33062: GH Actions (docker): Run a job for "make build-local" first, cache image for job "make build"
- #32784: Filter singular system package out of `tox.ini` for homebrew
- #31088: GH Actions: WSL workflow: No space left on device
-- #31413: GH Actions: Add workflow with `configure --enable-editable`
- #32570: `tox.ini`, GH Actions: Update macOS environments
-- #32966: tox / GH Actions: Add ubuntu variants using `ppa:ubuntu-toolchain-r`
- #32531: `SAGE_ROOT/tox.ini`: Add variants that provision a system python using `pyenv`
-- #30845: tox.ini, GH Actions: Add test for conda without SPKG
- #30505: tox.ini: Add `wsl` as a technology, to complement `local` and `docker`
- #30924: tox.ini: Add `cygwin` as a technology, to complement `local` and `docker`
- #29536: Make docker images from [GitHub](../wiki/GitHub) CI workflow and regular Sage Docker images interoperable
@@ -89,8 +91,8 @@
- #33338 Refactor GH Actions workflows using https://docs.github.com/en/actions/learn-github-actions/reusing-workflows, also use reusable workflows for the upstream deployments of `ci-sage.yml` (suggested in https://github.com/pypa/setuptools/pull/2923#discussion_r795977169)
Related meta-tickets:
-- #29356: Meta-ticket: more system pkgs info for various linuxes
- #29146: Meta-ticket: Refactor/improve system package related scripts, `tox.ini`, `build/bin/write_dockerfile.sh`
+- #33338 Meta-ticket: CI workflows for upstream projects using Sage reusable workflows
Ideas without tickets so far:
- Testing that it is possible to build without error when upgrading with git from some list of previous releases.
Description changed:
---
+++
@@ -93,6 +93,7 @@
Related meta-tickets:
- #29146: Meta-ticket: Refactor/improve system package related scripts, `tox.ini`, `build/bin/write_dockerfile.sh`
- #33338 Meta-ticket: CI workflows for upstream projects using Sage reusable workflows
+- #32074 Meta-ticket: Remove support for outdated distros
Ideas without tickets so far:
- Testing that it is possible to build without error when upgrading with git from some list of previous releases.
Description changed:
---
+++
@@ -108,7 +108,7 @@
**Testing of downstream packaging of sage:** (planning stage)
- #29111: Specify a subset of sage command line options that are supported by sagelib - rather than sage-the-distribution. Test that `sage -c SAGECOMMAND`, `sage -t`, `sage -python -c COMMAND`, ... work with the `sage` script provided by the distribution (see https://groups.google.com/d/msg/sage-packaging/BmkxIBdwbvE/fRMl2sjdBQAJ)
-
+- #33671 Add `devcontainer.json` for development with VS Code in a Docker container
---
Testing of source and binary distributions relies too much on manual testing by people.
We propose to set up Dockerfiles and CI scripts that document and test the expected capabilities of source and binary Sage distributions; and of downstream distribution packaging.
Testing of source trees and source distributions: (in progress)
With the important changes brought by #27330 (Meta-ticket:
spkg-configure
: Try to use as many system packages as possible), sage-the-distribution has become less monolithic; it now interacts in a more complex way with distribution packaging. We propose to add infrastructure for testing correct installation of sage source distributions on a variety of platforms.We collect information about distribution packages systematically and store it in on a per-SPKG basis in
build/pkgs/SPKG/distros/
. (Right now this information is scattered - in downstream sage distribution packagers' build scripts, trac tickets, replies to bug reports in google groups, the sage installation manual, personal knowledge...) This is part of #29053, for debian/fedora/arch/conda (with follow-up tickets #29105, #29106 for other platforms).We generate well-defined test environments in the form of
Dockerfile
s. This makes it possible to test, on one's development computer, the correct installation of sage-the-distribution on a variety of platforms and configurations. #29053 providesbuild/bin/write-dockerfile.sh
that generates theDockerfile
using the information in 1. Theminimal
configuration has just the packages that are needed for a build to succeed. Thestandard
configuration installs all distribution packages that sage knows how to use.Running tests on many test environments is automated using
tox
in #29053. The top-level tox.ini file defines the test environments. Usingtox
's factor conditions (https://tox.readthedocs.io/en/latest/config.html#complex-factor-conditions), there is a succinct description of many test environments. For example, we can runtox -e docker-debian-stretch-minimal,docker-arch-latest-standard
.29087 automates running the
tox
tests for a selection of 34 platforms/configurations using a GitHub Actions workflow on everygit push
to a GitHub repository. An example run: https://github.com/mkoeppe/sage/actions/runs/32812271Tickets:
29053: Add debian/fedora/arch/conda package information to build/pkgs, generate Dockerfiles and installation help; add tox.ini --- this helps test that all
spkg-configure.m4
scripts work as expected29066: Add Dockerfile that sets up sage prerequisites on Arch Linux
29104: Add to tox.ini some homebrew toxenvs (with a fresh install not in /usr/local)
29143: Add to tox.ini 32-bit linux environments and other architectures supported by docker
29129: Add more system packages to build/pkgs/SPKG/distros/
29273: add system packages info for R and others
29106: Add cygwin package information
29295: Add GitHub CI workflow for cygwin
29087: Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions
29367: tox.ini: Add tests for python2
29415: tox.ini: Add environment local-conda
29417: tox.ini, GitHub CI workflow - minor fixes
29401: Add documentation of tox and GitHub actions workflow to developer's manual
29366: archlinux: Add missing system packages (arch.txt), add arch section to installation manual, fix detection of system packages
29341: GitHub CI workflow: Add testing of optional packages
29403: ci-cygwin.yml: Multi-stage build
29530: Make Docker images generated by GitHub CI workflows available; minor CI fixes
29669: For Sage 9.2: Remove Python 2 support from the build system and CI scripts
29757: .github/workflows/tox-gcc_spkg.yml: Remove python2
29901:
.github/workflows/
: Test all optional packages, add workflow for testing all experimental packages29815: .github/workflows/tox-gcc_spkg.yml: Disable tests on some platforms that fail --without-system-gcc
29105: Add gentoo package information, extend dockerfile generator to gentoo
29851: tox.ini: debian-bullseye, -sid have Python3.8 instead of 3.7
30064: Fix tox-docker builds broken by #29884
29091: tox.ini: Add raspbian-buster
29929: tox.ini: Various CI fixes
30195: tox.ini: Add centos-6, docker-nobootstrap, manylinux-*
30044: tox.ini: Test on voidlinux
30144: tox.ini / tox.yml: Move code for tagging/pushing docker images into tox.ini
29130: Add nix package information, extend dockerfile generator to nix
30216 GH Actions: Test Windows with WSL
30923: tox.ini: Add environments
local-sudo-ubuntu-standard
, etc.30619: update opensuse.txt across build/pkgs/
30154: cygwin: CI fixes
28745: Add SAGE_ROOT/environment.yml for "conda env create -f".
30726: GH Actions: Test optional/experimental packages with Xcode 12
29527: tox.ini: Add docker-opensuse
30213: tox.ini: Add scientificlinux
29356: Meta-ticket: more system pkgs info for various linuxes
32113: GH Actions:
conda-forge
tests broken32947:
tox.ini
, GH Actions: Update Linux platforms33196:
tox.ini
: Addcentos-stream-8
,centos-stream-9
, remove defunctcentos-6
33296: tox.ini: Add
-recommended
package factor33140: GH Actions (macOS): Fix filtering of experimental packages
31415: GH Actions workflow that builds documentation on each push
33306:
tox.ini
: Linux platform updates32965:
tox
/ GH Actions: Addcentos-7-devtoolset-gcc_{9,10,11}
32966: tox / GH Actions: Add ubuntu variants using
ppa:ubuntu-toolchain-r
33263: Add github action running on each push
30845: tox.ini, GH Actions: Add test for conda without SPKG
32703: GH Actions: Run a job for
make build-local
first, cache image for jobmake build
31211:
ci-cygwin*.yml
: Fix packaging up of SAGE_LOCAL/var/tmp/sage/build/*30933: GH Actions: Repair upload of docker images
31413: GH Actions: Add workflow with
configure --enable-editable
34228:
tox -e docker-...-incremental
33062: GH Actions (docker): Run a job for "make build-local" first, cache image for job "make build"
32784: Filter singular system package out of
tox.ini
for homebrew31088: GH Actions: WSL workflow: No space left on device
32570:
tox.ini
, GH Actions: Update macOS environments32531:
SAGE_ROOT/tox.ini
: Add variants that provision a system python usingpyenv
30505: tox.ini: Add
wsl
as a technology, to complementlocal
anddocker
30924: tox.ini: Add
cygwin
as a technology, to complementlocal
anddocker
29536: Make docker images from GitHub CI workflow and regular Sage Docker images interoperable
30217: tox.ini: Add tests with Ubuntu + deadsnakes
29416: tox.ini: Add local-copy
30506: GH Actions: Use cancel-all-previous-workflow-runs
32280: Manage disk space constraints in continuous integration
21469: Enable VPATH builds (several independent build trees connected to one source tree)
29283: tox.ini: Add test environments using LXC
29159: Add to tox.ini a toxenv docker-linuxbrew
29535: Customize CI workflows on GitHub Actions using specially structured tag names
33338 Refactor GH Actions workflows using https://docs.github.com/en/actions/learn-github-actions/reusing-workflows, also use reusable workflows for the upstream deployments of
ci-sage.yml
(suggested in https://github.com/pypa/setuptools/pull/2923#discussion_r795977169)Related meta-tickets:
29146: Meta-ticket: Refactor/improve system package related scripts,
tox.ini
,build/bin/write_dockerfile.sh
33338 Meta-ticket: CI workflows for upstream projects using Sage reusable workflows
32074 Meta-ticket: Remove support for outdated distros
Ideas without tickets so far:
Testing of the sage binary distributions: moved to #31133
Testing of downstream packaging of sage: (planning stage)
29111: Specify a subset of sage command line options that are supported by sagelib - rather than sage-the-distribution. Test that
sage -c SAGECOMMAND
,sage -t
,sage -python -c COMMAND
, ... work with thesage
script provided by the distribution (see https://groups.google.com/d/msg/sage-packaging/BmkxIBdwbvE/fRMl2sjdBQAJ)33671 Add
devcontainer.json
for development with VS Code in a Docker containerSymptoms:
29055: Installing any optional package on the binary distribution triggers full recompile of sagelib
29051: Paths configured in installed numpy site.cfg [DEFAULT/ALL] do not affect scipy
CC: @vbraun @kiwifb @isuruf @dimpase @embray @saraedum @antonio-rojas @slel @sheerluck @tobiasdiez
Component: build
Keywords: ContinuousIntegration, sd111
Issue created by migration from https://trac.sagemath.org/ticket/29060