Skip to content

New "minimal" CI job#42228

Open
orlitzky wants to merge 3 commits into
sagemath:developfrom
orlitzky:ci-minimal
Open

New "minimal" CI job#42228
orlitzky wants to merge 3 commits into
sagemath:developfrom
orlitzky:ci-minimal

Conversation

@orlitzky
Copy link
Copy Markdown
Contributor

@orlitzky orlitzky commented May 22, 2026

Add a "minimal" CI job that...

  • Builds with meson setup and meson install rather than pip install.
  • Disables the documentation (-Dbuild-docs=false)
  • Disables bliss, coxeter3, libhomfly, mcqd, meataxe, rankwidth, sirocco, and tdlib (-Dfeature=disabled)
  • Leaves brial and eclib enabled for now due to failing tests (missing features and "needs" tags). When these are working, we can replace the list of individual options with -Dauto_features=disabled.

Dependencies

  1. Pytest: add support for "long" and "longlong" markings #42198
  2. Improve the portability of two doctests #42237 (positive review)
  3. Use RankWidth feature for Graph.rank_decoposition #42247

Closes

  1. Minimal meson CI job #42091

@orlitzky orlitzky marked this pull request as draft May 22, 2026 00:38
@orlitzky orlitzky force-pushed the ci-minimal branch 15 times, most recently from de496cc to 31abbda Compare May 24, 2026 13:37
vbraun pushed a commit that referenced this pull request May 29, 2026
gh-42247: Use RankWidth feature for Graph.rank_decoposition
    
* Teach `gen_thematic_rest_table_index()` to ignore missing features
* Back `Graph.rank_decoposition` by the RankWidth feature
* Reorder the `at_startup` warning in `LazyImport` to avoid printing an
error on the CI when RankWidth is disabled

My goal here is just to eliminate a warning on the CI, since I am hoping
to add a "minimal" run soon. The ReST generation happens at startup, so
`at_startup=True` is used to import `rank_decomposition` lazily. But
when the import fails and we go to actually _use_ the method, the lazy
import gets attempted again; now, `at_startup=True` raises a warning.

The minimal CI job is in progress on
#42228, and tests these changes in
the absence of RankWidth.
    
URL: #42247
Reported by: Michael Orlitzky
Reviewer(s): David Coudert
orlitzky added 2 commits May 30, 2026 12:35
1. Prefer POSIX sh to bash when all we need is an echo & pipe.
2. Use "python3 -m sage.cli" instead of "sage", since the latter
   may not exist in a pure-meson installation.
3. Use f-strings instead of format().
Use "python3 -m sage.cli" instead of "sage", since the latter may not
be available in (for example) a pure-meson installation.
Ensure that a "minimal" build of Sage builds and passes any tests that
are not skipped. For the moment, this

  * Builds with "meson setup" and "meson install" rather than "pip
    install", meaning that we will not have a "sage" executable.
  * Disables (does not build) the documentation.
  * Disables bliss, coxeter3, libhomfly, mcqd, meataxe, rankwidth,
    sirocco, and tdlib at build-time.
  * Leaves brial and eclib enabled for now to avoid failing tests.

We do not need to run the full matrix of operating systems and
pythons, the point is to prevent obvious regressions in such a build.
@orlitzky orlitzky changed the title Experiment: minimal CI New "minimal" CI job May 30, 2026
@github-actions
Copy link
Copy Markdown

Documentation preview for this PR (built with commit 533397f; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@orlitzky orlitzky marked this pull request as ready for review May 30, 2026 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant