sagemath/sage

GitHub CI workflow: Add testing of optional packages

mkoeppe opened this issue · 47 comments

We add a new GitHub Actions CI workflow tox-optional.yml, which tests most optional packages, using the maximal packages factor.

Depends on #29417
Depends on #29424
Depends on #29426
Depends on #29501
Depends on #29508
Depends on #29510
Depends on #29403

CC: @dimpase @kliem @orlitzky @jhpalmieri

Component: porting

Keywords: ContinuousIntegration

Author: Matthias Koeppe

Branch/Commit: 816477a

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/29341

Changed keywords from none to ContinuousIntegration

comment:3

Tests at https://github.com/mkoeppe/sage/actions/runs/56355410

  • polymake - fails on many platforms (#28423)
  • e-antic - fails on ubuntu-eoan-standard (#27952)
  • lrslib - fails on archlinux-latest-standard (#29185)

Last 10 new commits:

14f2967Actually use libcrypt-devel
68314dcMerge branch 't/29106/ticket-29106' into t/29295/29106+ci
b263ac3Run ci-cygwin.yml also on pull request
8972699Merge branch 't/29295/29106+ci' into t/29087/CI-gh-actions-tox-configure-build
8802016test 'make build' and ptest
16f979dbuild/bin/write-dockerfile.sh: Before adding src, make TARGETS_PRE; afterwards, make TARGETS.
5b7d9a5Also store test logs in the artifact
d1eb116tox.ini: Move homebrew environment settings to script .homebrew-build-env
967b49dMerge branch 't/29104/tox-homebrew' into t/29087/CI-gh-actions-tox-configure-build
69737b0.github/workflows/tox.yml: Test some optional packages

Commit: 69737b0

Changed dependencies from #29087 to #29417

comment:5

An obstacle when testing platforms with -maximal and IGNORE_MISSING_SYSTEM_PACKAGES=yes, for example docker-fedora-26-maximal (https://github.com/mkoeppe/sage/runs/589959336)

docker build gives

max depth exceeded

(docker/for-linux#414)

Basically, a sequence of too many RUN commands. Need to revise write-dockerfile

Changed commit from 69737b0 to ee21154

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

c08176eMerge branch 't/29417/tox-ci-minor-fixes' into t/29403/ci_cygwin_yml__multi_stage_build
cd1550ebuild/bin/sage-logger [V=0]: Show build times of successful builds
2c647fcbuild/pkgs/*/spkg-check.in: Do not print misleading error messages: avoid sdh_make
fc914f3Merge branch 't/29501/spkg_check_in__do_not_use_sdh_make_to_do__make_check_' into all-test-9.1.rc0
faf0ed6tox.ini: Another quoting fix
b08b0b9Merge branch 't/29417/tox-ci-minor-fixes' into all-test-9.1.rc0
ebb07d1Optional/experimental packages: Remove order-only dependencies on all standard packages
d1110b9Merge branch 't/29426/make_dependencies_of_optional_packages_more_detailed__no_longer_depend_on_all_standard_packages' into optional-test-9.1.rc0
dcfade3Set targets
ee21154tox.yml: do not test on conda-forge-ubuntu and fedora-32; use maximal

Changed commit from ee21154 to df56ac8

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

aed3fb8src/doc/en/developer/portability_testing.rst: Explain how to read [GitHub](../wiki/GitHub) Actions page
d39d627tox.yml [python3_xcode]: Install the package
ba0c266fixup
9060d23fixup
bd3e826Merge branch 't/29417/tox-ci-minor-fixes' into t/29341/optional-test-9.1.rc0
df56ac8build/bin/write-dockerfile.sh [debian, fedora, slackware, arch]: Define EXISTS commands

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

3fce626fixup

Changed commit from df56ac8 to 3fce626

Changed dependencies from #29417 to #29417, #29426

Changed commit from 3fce626 to 288d760

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

af1a4c7build/pkgs/pandoc: New script package
a7f230bbuild/pkgs/pandoc: Add distros/
fe346daMerge branch 't/29508/add_system_package_lists_for_pandoc__prereq_of_rst2ipynb_' into t/29341/optional-test-9.1.rc0
67256c2Use 'failures', not 'error' when reporting testsuite failures
2b68119Merge branch 't/29501/spkg_check_in__do_not_use_sdh_make_to_do__make_check_' into t/29341/optional-test-9.1.rc0
ab0120ebuild/pkgs/slackware*.txt: Move pkg-config, gettext-tools from bootstrap to prereq, add gettext dependency libcroco
fafd554build/pkgs/libpng/distros/slackware.txt: New
eb9f1c1build/pkgs/slackware.txt: Add libxml2
f7493d9build/pkgs/libgd/distros/slackware.txt: Add dependencies
288d760Merge branch 't/29424/slackware__system_packages_fix' into t/29341/optional-test-9.1.rc0

Changed dependencies from #29417, #29426 to #29417, #29424, #29426, #29501, #29508

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

251ab47trac 29492: remove outdated boilerplate from spkg-install.in,
1383a59Merge branch 'u/jhpalmieri/remove-boilerplate' of git://trac.sagemath.org/sage into t/29510/spkg_check_in__remove_messages_that_duplicate_sage_spkg_s_messages
2533a67build/pkgs/*/spkg-check.in: Remove messages that duplicate sage-spkg messages
9b213a4build/bin/sage-spkg: Add message when test suite passed
ca36a87build/pkgs/*/spkg-check.in: Do not print misleading error messages: avoid sdh_make
c53ddc7Use 'failures', not 'error' when reporting testsuite failures
6140a99Merge branch 't/29501/spkg_check_in__do_not_use_sdh_make_to_do__make_check_' into t/29341/optional-test-9.1.rc0
5fe6538Merge branch 't/29424/slackware__system_packages_fix' into t/29341/optional-test-9.1.rc0

Changed commit from 288d760 to 5fe6538

Changed dependencies from #29417, #29424, #29426, #29501, #29508 to #29417, #29424, #29426, #29501, #29508, #29510

Description changed:

--- 
+++ 
@@ -1 +1,2 @@
+We add a new [GitHub](../wiki/GitHub) Actions CI workflow `tox-optional.yml`, which tests most optional packages, using the `maximal` packages factor.
 

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

84edb00.github/workflows/tox-optional.yml: Rename

Changed commit from 5fe6538 to 84edb00

Author: Matthias Koeppe

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

7b3446f.github/workflows/tox-optional.yml: Test packages factor 'maximal'

Changed commit from 84edb00 to 7b3446f

Changed commit from 7b3446f to 1dda317

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

1dda317Add cmake to packages not tested
comment:22

On Fedora, this breaks installation of python3 because yum info python3 does not work even though yum install python3 works

(https://github.com/mkoeppe/sage/runs/599575888)

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

bd8a2f9build/bin/write-dockerfile.sh [fedora]: Use 'yum install -y --download-only' for checking existence of packages

Changed commit from 1dda317 to bd8a2f9

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

807c2bdFix spelling of --downloadonly

Changed commit from bd8a2f9 to 807c2bd

Changed commit from 807c2bd to 784abe8

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

fc61002ci-cygwin.yml: Package up SAGE_LOCAL/var/tmp/sage/build to avoid error with actions/upload-artifact
59ec460./configure --enable-experimental-packages --enable-download-from-upstream-url
c9cf3ccMerge branch 't/29392/__configure___enable_experimental_packages___enable_download_from_upstream_url' into t/29403/ci_cygwin_yml__multi_stage_build
037f508tox.yml: Pass CONFIGURE_ARGS: --enable-experimental-packages --enable-download-from-upstream-url
998f02dci-cygwin.yml: Fixup for: Package up SAGE_LOCAL/var/tmp/sage/build
d6bf4b1ci-cygwin.yml: Install standard system packages also for 'stndard-python2'
2779e24ci-cygwin.yml: Another fixup for: Package up SAGE_LOCAL/var/tmp/sage/build
27ddea3build/bin/sage-logger: Back out an experimental change
bd687c9Merge branch 't/29403/ci_cygwin_yml__multi_stage_build' into t/29341/optional-test-9.1.rc0
784abe8ci-cygwin.yml: SAGE_FAT_BINARY=yes

Changed commit from 784abe8 to eeadb9d

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

eeadb9d.github/workflows/ci-cygwin.yml: Test more optional packages

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

316c5f6Fixup

Changed commit from eeadb9d to 316c5f6

Reviewer: Dima Pasechnik

comment:30

OK, this appears to work, by and large. Surely there are various platforms/packages combos not working, but this is another story.

comment:31

Thanks!

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

816477aMerge tag '9.1.rc1' into t/29341/optional-test-9.1.rc0

Changed commit from 316c5f6 to 816477a

comment:33

Merged in new rc