Draft
Conversation
|
Documentation preview for this PR (built with commit 60f7eab; changes) is ready! 🎉 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is the closed PR #39009 rebased on the current develop branch.
Test CI run (as of 10.7.beta0): https://github.com/kwankyu/sage/actions/runs/14437849808
compare with the status quo: https://github.com/sagemath/sage/actions/runs/14229865306
To improve the situation with the CI infrastructure, this PR:
Restore jobs removed by Disable broken and outdated CI #39467 (and its sequel CI: Remove broken Linux Mint and openSUSE runs #39670), which made CI Linux useless.
Added comments untangling obscure code in CI-related files, for those poor guys who ever attempt to read the files for whatever reasons.
While doing the cosmetic changes, a bug (about
-uninstalltargets) was foundbuild/make/Makefile.in, which is fixed here.To test, do
Fixed some jobs in the CI-linux workflow that fail because of duplicate artifact names.
Reduced supported platforms under testing. This is how to properly modify the list:
tox.ini(find DEFAULT_SYSTEM_FACTORS)tox -e update_docker_platforms"optional" and "experimental" jobs now run upon "standard" docker images, instead of "maximal" ones, to avoid "out of runner space" error.
Renamed "Reusable workflow for Docker-based portability CI" to "Workflow for Linux portability CI" for short name and made it runnable through github interface to facilitate testing specific platform by adding "workflow-dispatch" calling
docker.yml.Test: https://github.com/kwankyu/sage/actions/workflows/docker.yml
Added helpful comments and updated the developer doc
Reimplemented
.ci/write-dockerfile.shso that simplified Dockerfile is generated for present and future stabilityTurned off failing jobs in "CI Linux incremental"
Removed seemingly useless
subprojects/factorydirectory to eliminate certain git warnings.Turned off "standard-sitepackegs" and "standard-constraints_pkgs-norequirements" jobs as they fail on (almost) all platforms.
Test CI with a PR: to be prepared.
The main objective of this PR is to solve issues with the workflow "CI Linux" such that a failure on a platform reveals solely some problem of sage built on the platform, but not a problem of the CI infrastructure. After this PR, hopefully, each of failing platforms should be tackled individually. If a platform fails, perhaps we should
I suggest discontinuing support (at least in CI) for Linux releases that have been past their EOL (end of life or end of support by the distributor) for more than 2 years.
Only decent platforms according to the CI results should be listed in https://github.com/sagemath/sage/wiki/Sage-10.6-Release-Tour#availability-and-installation-help.
The following diagram shows how packages are installed for each of CI jobs:
where "S" represents system package and dash "-" represents Sage package. Hence
📝 Checklist
⌛ Dependencies