Opened 2 years ago

Closed 22 months ago

#29901 closed enhancement (fixed)

.github/workflows/: Test all optional packages, add workflow for testing all experimental packages

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.2
Component: porting Keywords:
Cc: jhpalmieri, novoselt, gh-kliem, mjo Merged in:
Authors: Matthias Koeppe Reviewers: Jonathan Kliem
Report Upstream: N/A Work issues:
Branch: 6afe959 (Commits, GitHub, GitLab) Commit: 6afe959a174db2339f5f10bcad8c4a535ec66cf2
Dependencies: #29174, #29823, #20104 Stopgaps:

Status badges

Description (last modified by mkoeppe)

Follow up from #29341.

Change History (38)

comment:1 Changed 2 years ago by mkoeppe

  • Dependencies set to #29174

comment:2 Changed 2 years ago by mkoeppe

  • Dependencies changed from #29174 to #29174, #29823

comment:3 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 2 years ago by mkoeppe

  • Branch set to u/mkoeppe/_github_workflows___test_all_optional_packages__add_workflow_for_testing_all_experimental_packages

comment:5 Changed 2 years ago by mkoeppe

  • Commit set to f5822220769074ede32a160e77119b8af2cd47a7

The present version has an explicit list of the packages to the workflow scripts. This could be made less maintenance-intensive by #29902


New commits:

c182f48trac 29754: remove packages backporting Python 3 components to Python 2.
05a6937Merge commit 'c559f26caf56378c8c4a5652f577986b4f5d431c' of git://trac.sagemath.org/sage into t/29754/no-py2-backports
332778d.github/workflows/ci-cygwin*: Remove build of removed package singledispatch
b389d77Merge branch 't/29745/cleanup-spkg-rst-files' into t/29174/remove_autotools_spkg
963737ebuild/pkgs/autotools: Remove
91b5ae8Merge branches 't/29823/_github_workflows_ci_cygwin___remove_build_of_removed_packages' and 't/29174/remove_autotools_spkg' into t/29901/_github_workflows___test_all_optional_packages__add_workflow_for_testing_all_experimental_packages
f582222.github/workflows/: Test all optional packages, add workflow for testing all experimental packages

comment:6 Changed 2 years ago by git

  • Commit changed from f5822220769074ede32a160e77119b8af2cd47a7 to f87c885fa0ae9298830e4c2f4394092eef4fb60c

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

f87c885.github/workflows/: Test all optional packages, add workflow for testing all experimental packages

comment:7 Changed 2 years ago by mkoeppe

.github/workflows/: Test all optional packages, add workflow for testing all experimental packages · mkoeppe/sage@f87c885 https://github.com/mkoeppe/sage/actions/runs/141135018

.github/workflows/: Test all optional packages, add workflow for testing all experimental packages · mkoeppe/sage@f87c885 https://github.com/mkoeppe/sage/actions/runs/141135010

comment:8 Changed 2 years ago by mkoeppe

  • Dependencies changed from #29174, #29823 to #29174, #29823, #20104

comment:9 Changed 2 years ago by git

  • Commit changed from f87c885fa0ae9298830e4c2f4394092eef4fb60c to efb14c3d6742bbb55cdb968266b8f94246f2e203

Branch pushed to git repo; I updated commit sha1. New commits:

94ec3c9Add sage --package update-latest command
cb7a291Fixup rebase
1d36a2ebuild/bin/sage-system-python: Try python first
a91ecabMerge branch 't/29890/build_bin_sage_system_python__try__python__first' into t/20104/automatic_updates_of_pip_type_packages
ba6fbb5Merge branch 't/20104/automatic_updates_of_pip_type_packages' into t/29901/_github_workflows___test_all_optional_packages__add_workflow_for_testing_all_experimental_packages
4dc7367.github/workflows: Replace explicit optional/experimental lists by using sage-package
efb14c3Suppress linebreaks

comment:10 Changed 2 years ago by mkoeppe

https://github.com/mkoeppe/sage/runs/789828733

Error processing tar file(exit status 1): write /sage/local/share/pari/elldata/ell366: no space left on device
Error response from daemon: Error processing tar file(exit status 1): write /sage/local/share/stein_watkins/a.010.bz2: no space left on device

comment:11 Changed 2 years ago by jhpalmieri

Maybe we don't need to test database_stein_watkins much: if database_stein_watkins_mini works, then since they use the same spkg-install.in, the only issue, I think, is whether the big tarball is corrupt.

comment:12 Changed 2 years ago by mkoeppe

Right. There was apparently a point to having that old category of "huge" packages. Wondering how that got lost. --> #29919 (Restore "huge" package type)

Last edited 2 years ago by mkoeppe (previous) (diff)

comment:13 Changed 2 years ago by git

  • Commit changed from efb14c3d6742bbb55cdb968266b8f94246f2e203 to 2a38f513dae5c822f478eff3f2c0062d8b4fd046

Branch pushed to git repo; I updated commit sha1. New commits:

2a38f51.github/workflows/tox-optional.yml: Do not test huge packages

comment:14 Changed 2 years ago by git

  • Commit changed from 2a38f513dae5c822f478eff3f2c0062d8b4fd046 to 1fcafe87709abc9ca29d4cf8ec508667924f7fca

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

1fcafe8.github/workflows/tox-optional.yml: Do not test huge packages

comment:15 Changed 2 years ago by git

  • Commit changed from 1fcafe87709abc9ca29d4cf8ec508667924f7fca to bd703e4d3e152544adef1cf6c9b28259f3e04e51

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

bd703e4.github/workflows/tox-optional.yml: Do not test huge packages

comment:17 Changed 2 years ago by mkoeppe

Filtering out the known huge packages works now.

But there are many timeouts. Will need to split "optional" into 2 parts.

comment:18 Changed 22 months ago by mkoeppe

  • Cc novoselt added

comment:19 Changed 22 months ago by git

  • Commit changed from bd703e4d3e152544adef1cf6c9b28259f3e04e51 to fc59886f1637525ab439daa2ec8500a52da80c01

Branch pushed to git repo; I updated commit sha1. New commits:

fc59886Merge tag '9.2.beta5' into t/29901/_github_workflows___test_all_optional_packages__add_workflow_for_testing_all_experimental_packages

comment:20 Changed 22 months ago by git

  • Commit changed from fc59886f1637525ab439daa2ec8500a52da80c01 to 1a408a8027f5163c651e59374fbd160730f22935

Branch pushed to git repo; I updated commit sha1. New commits:

1a408a8.github/workflows/tox-optional.yml: Split jobs

comment:21 Changed 22 months ago by git

  • Commit changed from 1a408a8027f5163c651e59374fbd160730f22935 to 50556a79d6b6b5a4913bc3a7a2e981d7201bfefb

Branch pushed to git repo; I updated commit sha1. New commits:

50556a7Fixup syntax

comment:23 Changed 22 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Cc gh-kliem mjo added
  • Status changed from new to needs_review

comment:24 Changed 22 months ago by mkoeppe

Still exceeds 2 x 6h on ubuntu-xenial, need to split it up more

comment:25 Changed 22 months ago by git

  • Commit changed from 50556a79d6b6b5a4913bc3a7a2e981d7201bfefb to 6e3051d862a4e96f3865ba640616a116b01c1201

Branch pushed to git repo; I updated commit sha1. New commits:

6e3051dSplit up into more jobs

comment:27 Changed 22 months ago by mkoeppe

Should remove the testing of sage_numerical_backends_cplex, sage_numerical_backends_gurobi, which require the commercial packages to be installed first

comment:28 Changed 22 months ago by git

  • Commit changed from 6e3051d862a4e96f3865ba640616a116b01c1201 to 6afe959a174db2339f5f10bcad8c4a535ec66cf2

Branch pushed to git repo; I updated commit sha1. New commits:

6c82896Even more splitting
6afe959Do not try to test packages that need cplex, gurobi

comment:29 Changed 22 months ago by gh-kliem

Why are there green checkmarks, if things haven't worked out?

https://github.com/mkoeppe/sage/runs/876312084?check_suite_focus=true

comment:30 Changed 22 months ago by mkoeppe

Targets listed in TARGETS_OPTIONAL ignore errors.

comment:31 follow-up: Changed 22 months ago by gh-kliem

Why is that? There is probably a good reason, but I'm curious. How do I efficiently use it then.

comment:32 Changed 22 months ago by mkoeppe

Unfortunately a test run can only get a red or a green status on GH Actions. TARGETS_OPTIONAL is designed for additional tests of things that are likely to fail - such as ptest in tox.yml, which always has 1 or 2 failures that we don't want to be signaled by a red status.

There's only a rather shallow reason why currently use TARGETS_OPTIONAL for testing the optional and experimental packages. At the moment the majority of the optional and experimental packages fail, so all of these test runs will fail. Thus there is no information either way. But the green checkmarks look more friendly.

We can change this when we have made some progress in #29900 (Meta-ticket: Fix optional and experimental packages for Sage 9.2).

Last edited 22 months ago by mkoeppe (previous) (diff)

comment:33 in reply to: ↑ 31 Changed 22 months ago by mkoeppe

Replying to gh-kliem:

How do I efficiently use it then.

Look at the "This run" tab of the whole workflow and search for package names that you're interested in.

comment:34 follow-up: Changed 22 months ago by gh-kliem

Thanks. Yes, sounds reasonable.

From my point of view, optional should mean almost as safe as sage itself and experimental is for all stuff that might or might not work (I guess there are runtime failures as well that make stuff experimental). So adding a doctesting framework for this seems great.

comment:35 in reply to: ↑ 34 Changed 22 months ago by mkoeppe

Replying to gh-kliem:

From my point of view, optional should mean almost as safe as sage itself and experimental is for all stuff that might or might not work (I guess there are runtime failures as well that make stuff experimental).

Yes, I agree with this interpretation.

comment:36 Changed 22 months ago by gh-kliem

  • Reviewers set to Jonathan Kliem
  • Status changed from needs_review to positive_review

I think this is a good improvement as it is.

comment:37 Changed 22 months ago by mkoeppe

Thanks!

comment:38 Changed 22 months ago by vbraun

  • Branch changed from u/mkoeppe/_github_workflows___test_all_optional_packages__add_workflow_for_testing_all_experimental_packages to 6afe959a174db2339f5f10bcad8c4a535ec66cf2
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.