Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI Build & Test: Fix test errors involving optional packages coxeter3, ... #36016

Merged
merged 1 commit into from
Aug 5, 2023

Conversation

mkoeppe
Copy link
Member

@mkoeppe mkoeppe commented Aug 2, 2023

These errors have started to show up after #35661 was merged.

Optional packages such as coxeter3 are installed as a side effect of testing distributions such as sagemath-coxeter.
Hence the doctests marked # optional - coxeter3 are activated.
Here we ensure that the corresponding extension modules are also installed in the venv where the doctests run.

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@mkoeppe mkoeppe self-assigned this Aug 2, 2023
@github-actions
Copy link

github-actions bot commented Aug 2, 2023

Documentation preview for this PR (built with commit b194d33; changes) is ready! 🎉

id: build
if: always() && (steps.incremental.outcome == 'success' || steps.clean.outcome == 'success')
run: |
make build
working-directory: ./worktree-image
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You just split make build from the Clean step. How does this make it sure that the "corresponding extension modules" are installed? Prior to that, what do you mean by "corresponding extension modules"? Sorry for naive questions.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "Clean" step is only run when something went wrong in the incremental build.

By splitting out the "make build" step from, this step gets run unconditionally.

In an editable build (default), the Sage library is monolithic: "make sagelib" is responsible for installing all of the Sage library, including the extension modules (Cython modules) that depend on installed optional packages. For example, sage.libs.coxeter3.coxeter.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation.

env:
MAKE: make -j2
SAGE_NUM_THREADS: 2

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this step be placed before the step "Build and test modularized distributions"?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I worried that modularized distributions made in the step "Build and test modularized distributions" could be wiped out by the "Clean" step. But they would not. The "Clean" step only cleans up the sage library. Right?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is irrelevant. Never mind.

Copy link
Collaborator

@kwankyu kwankyu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Now it looks good to me.

@mkoeppe
Copy link
Member Author

mkoeppe commented Aug 3, 2023

Thanks!

@vbraun vbraun merged commit cd6f6b8 into sagemath:develop Aug 5, 2023
20 of 22 checks passed
@mkoeppe mkoeppe added this to the sage-10.1 milestone Aug 5, 2023
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.

None yet

3 participants