#29087 closed enhancement (fixed)

Add GitHub Actions workflow for testing the build on various Linux distributions via docker; macOS with homebrew; and Windows (cygwin)

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.1
Component: build Keywords: docker, ContinuousIntegration
Cc: dimpase, vbraun, saraedum, isuruf, arojas, fbissey Merged in:
Authors: Matthias Koeppe Reviewers: Dima Pasechnik
Report Upstream: N/A Work issues:
Branch: cbcd657 (Commits, GitHub, GitLab) Commit: cbcd65717008f5dc571a7b2c0b67249157cf4526
Dependencies: #29367 Stopgaps:

Status badges

Description (last modified by mkoeppe)

This is a follow-up on #29053: Add debian/fedora/arch package information to build/pkgs, generate Dockerfiles and installation help

This ticket adds .github/workflows/tox.yml, which installs a number of system packages and then runs ./bootstrap, ./configure, and make.

Most of the interesting parts are in #29053 - everything can be run "locally" (with tox and docker). This ticket only adds a simple additional file to run this automatically with several jobs on GitHub Actions on a GitHub pull request.

For each of the Linux distributions supported, there are two configurations:

  • minimal - has enough packages so that the build can succeed;
  • standard - has additionally all standard packages for which we have spkg-configure.m4.

GitHub Actions runs these build jobs on 2-core machines with 7 GB of RAM memory and 14 GB of SSD disk space (https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-runners-and-hardware-resources), and has a time limit of 6h per job. This is just barely enough for a typical minimal build followed by make ptest to succeed; and plenty of time for a typical standard build to succeed.

Example run: https://github.com/mkoeppe/sage/actions/runs/60588138

Context:

  • #29060: Meta-ticket: Add Dockerfiles and CI scripts for integration testing of source and binary distributions and of downstream packages
  • #27330: Meta-ticket: spkg-configure: Try to use as many system packages as possible

Change History (87)

comment:1 Changed 20 months ago by mkoeppe

  • Dependencies set to #29053

comment:2 follow-up: Changed 20 months ago by saraedum

I am all for more CI, but would it not make more sense to add this to the existing GitLab CI?

comment:3 Changed 20 months ago by mkoeppe

  • Branch set to u/mkoeppe/CI-gh-actions-tox-configure-build

comment:4 Changed 20 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Commit set to 6a2bf3d2140e2d625d4ca96a40485b74fa582e7a
  • Description modified (diff)
  • Status changed from new to needs_review

Last 10 new commits:

80d2f90build/pkgs/debian-bootstrap.txt: Add pkg-config
d31441eremove nonexisting fedora package
e4c2bf8build/pkgs/arch.txt: Add gcc
c55071fbuild/pkgs/debian.txt: add g++
ea04ee7build/pkgs/debian.txt: python3-minimal->python3
b4e90a0build/bin/write-dockerfile.sh: Only install a package if it has spkg-configure.m4
0f2b16ebuild/bin/sage-spkg: Explain to user what will be done with the system package
ddcac27Squashed commit of the following:
8c30f07Arch package sage-data-elliptic_curves corresponds to Sage's elliptic_curves, not to the optional database_cremona_ellcurve
6a2bf3dAdd GitHub Actions workflow for testing spkg-configure / build on various Linux distributions

comment:5 in reply to: ↑ 2 Changed 20 months ago by mkoeppe

Replying to saraedum:

I am all for more CI, but would it not make more sense to add this to the existing GitLab CI?

Fine with me too. I have built this on top of tox and docker. It can also run locally. The GitHub-specific part is really minimal - https://git.sagemath.org/sage.git/commit/?h=6a2bf3d2140e2d625d4ca96a40485b74fa582e7a

comment:6 Changed 20 months ago by mkoeppe

  • Keywords docker ContinuousIntegration added

comment:7 follow-up: Changed 20 months ago by saraedum

Personally, I like GitHub. I like GitLab a bit better because it is very easy to provision our own runners (e.g., for obscure platforms.) The problem with GitHub is that some people have quite a few reservations about it (lock-in, Microsoft, …) so I think GitLab is the better choice for such an extensive community.

In any case, glad to see these things happen. Feel free to ping/bug me explicitly if you need reviews on anything docker/CI.

comment:8 Changed 20 months ago by git

  • Commit changed from 6a2bf3d2140e2d625d4ca96a40485b74fa582e7a to 5442c6f8cf4ac26b19ad6fdb77ce8669a3b52b68

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

8592e01build/pkgs/fedora.txt: Add findutils, which
5442c6fAdd GitHub Actions workflow for testing spkg-configure / build on various Linux distributions

comment:9 Changed 20 months ago by git

  • Commit changed from 5442c6f8cf4ac26b19ad6fdb77ce8669a3b52b68 to a9b1ff2dc5e430e3c1e7c115414bf9410f1e9df8

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

3d9565ffixup conda
7e59a6fbuild/bin/write-dockerfile.sh: Add commands to activate conda env
2ad9a97Merge tag '9.1.beta2' into t/29053/installation_manual__generate__apt_get_install__and__yum_install__lines_from_build_pkgs_at___bootstrap_time
9fca230add doc
f6cbb8aadd centos-{7,8}
a9b1ff2Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions

comment:10 Changed 20 months ago by git

  • Commit changed from a9b1ff2dc5e430e3c1e7c115414bf9410f1e9df8 to 744b04e7b5b6c0f1f3b505c73559138b256b0125

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

c651058on centos, IGNORE_MISSING_SYSTEM_PACKAGES=yes
98edff6Add build/pkgs/gfortran/distros/fedora.txt
843ca76build/pkgs/fedora.txt: Add python3
bd6a545tox.ini: Add debian stretch, put sid last
23c6334build/pkgs/openblas/distros/arch.txt: Add lapack, cblas
050d692Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions
744b04e.github/workflows/tox.yml: Also put the tox log in the artifact

comment:11 Changed 20 months ago by mkoeppe

  • Dependencies changed from #29053 to #29053, #29104, #29100

comment:12 Changed 20 months ago by git

  • Commit changed from 744b04e7b5b6c0f1f3b505c73559138b256b0125 to 879d1a405662400efebb7d0791a046b382d1f6d3

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

fca6654tox.ini: Add toxenvs local-homebrew-macos-minimal, local-homebrew-macos-standard
e0e8a4ctox.ini [local-homebrew]: Fixup PATH, PKG_CONFIG_PATH, set LDFLAGS, CPPFLAGS; [local-direct]: New
16ca88ftox.ini: Use {envlogdir}; use ln -sf
6a1803dtox.ini [local]: First build the base-toolchain
4b72987tox.ini [local-homebrew]: Set PATH earlier and set ACLOCAL_PATH for bootstrapping
043c2faMerge branch 't/29104/tox-homebrew' into t/29087/CI-gh-actions-tox-configure-build
931cdf8spkg-configure.m4 for boost_cropped and boost
6f04521add package names to distros/
998287bMerge branch 'u/dimpase/packages/boostconfig' of git://trac.sagemath.org/sage into t/29087/CI-gh-actions-tox-configure-build
879d1a4.github/workflows/tox.yml: Add tox-local-macos

comment:13 Changed 20 months ago by mkoeppe

  • Summary changed from Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions to Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions via docker; and macOS with homebrew

comment:14 in reply to: ↑ 7 Changed 20 months ago by mkoeppe

Replying to saraedum:

Personally, I like GitHub. I like GitLab a bit better because it is very easy to provision our own runners (e.g., for obscure platforms.) The problem with GitHub is that some people have quite a few reservations about it (lock-in, Microsoft, …) so I think GitLab is the better choice for such an extensive community.

Yes, I understand these concerns. To avoid lock-in, in this ticket the definition of the tests (for linux) is driven by tox and docker, rather than relying on the specific environments provided by a CI vendor. Likewise for the homebrew tests for macOS on this ticket.

I don't have the time to work on another CI platform but would certainly welcome it if other CI enthusiasts wanted to implement a solution on another platform in a follow-up ticket.

Feel free to ping/bug me explicitly if you need reviews on anything docker/CI.

Thanks. This ticket would be ready for review.

comment:15 Changed 20 months ago by git

  • Commit changed from 879d1a405662400efebb7d0791a046b382d1f6d3 to f311a93919e008da14453276101ebc0d715a488c

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

f311a93.github/workflows/tox.yml: Add rpy2, ecl, maxima to TARGETS; also run on pull_request

comment:16 Changed 20 months ago by git

  • Commit changed from f311a93919e008da14453276101ebc0d715a488c to 9b8c45fd5cfdff2dd75cd7c8993b9c3eecc0f29b

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

2b9eb79Merge tag '9.1.beta3' into t/29087/CI-gh-actions-tox-configure-build
839d6fbtox.ini: Add other archs supported by docker
be0bf8dMerge branch 't/29143/add_to_tox_ini_some_32_bit_linux_environments' into t/29087/CI-gh-actions-tox-configure-build
9b8c45ftox.ini: Add a few more systems

comment:17 Changed 20 months ago by mkoeppe

  • Dependencies changed from #29053, #29104, #29100 to #29053, #29104, #29100, #29143

comment:18 Changed 20 months ago by git

  • Commit changed from 9b8c45fd5cfdff2dd75cd7c8993b9c3eecc0f29b to d611672d069d52fd6641c0fcc9d63a58c83318dc

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

67e14cefixup for llocal
487939dMerge branch 't/29143/add_to_tox_ini_some_32_bit_linux_environments' into t/29087/CI-gh-actions-tox-configure-build
e10976btox.ini: Add a few more systems
d611672tox.ini: Add a few more systems

comment:19 Changed 20 months ago by git

  • Commit changed from d611672d069d52fd6641c0fcc9d63a58c83318dc to e35d3ef156eccb7450ddcc44238bf84d381d09f5

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

e35d3eftox.ini: Add a few more systems

comment:20 Changed 20 months ago by git

  • Commit changed from e35d3ef156eccb7450ddcc44238bf84d381d09f5 to dfba1d0388476ab91f1f6f127b1688eb7b7f85a1

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

2141b75Merge tag '9.1.beta3' into t/29104/tox-homebrew
2b0a25etox.ini: Add other archs supported by docker
e3f832cfixup for llocal
b5361e2tox.ini: Restructure docker image:tag construction, add multiarch for Linux Docker
c497ef7Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions
7a44abf.github/workflows/tox.yml: Also put the tox log in the artifact
d52513b.github/workflows/tox.yml: Add tox-local-macos
c2973a5.github/workflows/tox.yml: Add rpy2, ecl, maxima to TARGETS; also run on pull_request
dfba1d0.github/workflows/tox.yml: add centos, some i386 builds, and arm64 armhf builds

comment:21 Changed 20 months ago by git

  • Commit changed from dfba1d0388476ab91f1f6f127b1688eb7b7f85a1 to 2a1dbacc2711271d77c6a30dbceb16670f3bd1ac

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

2a1dbacremove centos-8-i386 (does not exist on Docker Hub

comment:22 Changed 19 months ago by git

  • Commit changed from 2a1dbacc2711271d77c6a30dbceb16670f3bd1ac to bd9df1186f7c12bbb332fa517c134a9a2f5205dc

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

4350d0atox.ini: Add raspbian
59e1d6fMerge tag '9.1.beta4' into t/29143/add_to_tox_ini_some_32_bit_linux_environments
4eb201bMerge tag '9.1.beta4' into t/29104/tox-homebrew
254753dMerge branch 't/29104/tox-homebrew' into t/29143/add_to_tox_ini_some_32_bit_linux_environments
bd9df11Merge branch 't/29143/add_to_tox_ini_some_32_bit_linux_environments' into t/29087/CI-gh-actions-tox-configure-build

comment:23 Changed 19 months ago by git

  • Commit changed from bd9df1186f7c12bbb332fa517c134a9a2f5205dc to b654bdb9dd0ea4cd743efa2668ed121a586f2569

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

b654bdb.github/workflows/tox.yml [homebreew]: Prepare log artifact on error

comment:24 Changed 19 months ago by git

  • Commit changed from b654bdb9dd0ea4cd743efa2668ed121a586f2569 to 15179a4ff3189dbd24d51bcf60de86b4ad5208fe

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

15179a4Merge tag '9.1.beta5' into t/29087/CI-gh-actions-tox-configure-build

comment:25 Changed 19 months ago by mkoeppe

  • Dependencies changed from #29053, #29104, #29100, #29143 to #29104, #29143

comment:26 Changed 19 months ago by git

  • Commit changed from 15179a4ff3189dbd24d51bcf60de86b4ad5208fe to 8d1b27bc636408b9b0e090e5fa3563c4d8c523f4

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

7073a8dMerge tag '9.1.beta6' into t/29087/CI-gh-actions-tox-configure-build
8d1b27bbuild/bin/write-dockerfile.sh: src/ext has moved and is no longer needed for the configure phase

comment:27 Changed 19 months ago by mkoeppe

  • Status changed from needs_review to needs_work
  • Work issues set to rebase, test linbox for 29102

comment:28 Changed 19 months ago by mkoeppe

  • Work issues changed from rebase, test linbox for 29102 to rebase, test linbox for #29102, test fpylll for #29091

comment:29 Changed 19 months ago by git

  • Commit changed from 8d1b27bc636408b9b0e090e5fa3563c4d8c523f4 to f9514f74026d820c3ce01e4e0df9b980d21f847c

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

7155e79Merge tag '9.1.beta7' into t/29104/tox-homebrew
d7a2e72Fixup merge
f9514f7Merge branch 't/29104/tox-homebrew' into t/29087/CI-gh-actions-tox-configure-build

comment:30 Changed 19 months ago by git

  • Commit changed from f9514f74026d820c3ce01e4e0df9b980d21f847c to 6bd60d875991ceb58b7e86019697c928312e82c5

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

6bd60d8.github/workflows/tox.yml: Add scipy, fpylll, linbox to TARGETS, pass TARGETS to homebrew build

comment:31 Changed 19 months ago by mkoeppe

  • Status changed from needs_work to needs_review
  • Work issues rebase, test linbox for #29102, test fpylll for #29091 deleted

comment:32 Changed 19 months ago by git

  • Commit changed from 6bd60d875991ceb58b7e86019697c928312e82c5 to 3acd913be4370f4a7ba81a3571eac194743f82e3

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

d576c4ctox.ini: Add docker-linuxmint-19.3
181a8e3Merge branch 't/29304/tox_ini__add_docker_linuxmint' into t/29087/CI-gh-actions-tox-configure-build
cb6f4f3build/tox.ini: Add more python versions
f421bd7build/test: Set maxDiff=None to improve debugging of sage_bootstrap
c02af0dbuild/sage_bootstrap: Handle upstream_url field in checksum.ini, add options to 'sage -package'
5b4a9e8build/sage_bootstrap/download: Add option --allow-upstream
537210dbuild/bin/sage-spkg: Add option -o (--allow-upstream)
e234145Merge branch 't/26351/build_pkgs___checksums_ini__add_upstream_tarball_url_field' into t/29087/CI-gh-actions-tox-configure-build
82b4c09tox.ini, build/bin/write-dockerfile.sh: Use sage-spkg -y -o, for packages not on mirrors yet
3acd913.github/workflows/tox.yml: Set TARGETS=build

comment:33 Changed 19 months ago by mkoeppe

  • Dependencies changed from #29104, #29143 to #29104, #26351, #29304, #29295, 29273

comment:34 Changed 19 months ago by mkoeppe

  • Dependencies changed from #29104, #26351, #29304, #29295, 29273 to #29104, #26351, #29304, #29295, #29273

comment:35 Changed 19 months ago by git

  • Commit changed from 3acd913be4370f4a7ba81a3571eac194743f82e3 to 04613b56b2e7f840467c5abbd6ad25ea3d02c359

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

04613b5tox.yml: Add linuxmint-19.3

comment:36 Changed 19 months ago by git

  • Commit changed from 04613b56b2e7f840467c5abbd6ad25ea3d02c359 to 5c8f4ac0be3f8e8cc1ffb76730ff9ecc022d3d89

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

9f486efRevert "Move AC_FC_FUNC([dgeqrf]) from openblas/spkg-configure.m4 to gfortran/spkg-configure.m4"
071e0b3Revert "Revert "build/pkgs/openblas/spkg-configure.m4: Do not use AC_FC_FUNC.""
5c8f4acMerge branch 't/29104/tox-homebrew' into t/29087/CI-gh-actions-tox-configure-build

comment:37 Changed 19 months ago by git

  • Commit changed from 5c8f4ac0be3f8e8cc1ffb76730ff9ecc022d3d89 to 31f92509ad01638e3bcca9c36e177b1ff49cf3a7

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

31f9250tox.ini [fedora-31, fedora-32]: Remove comments that caused the wrong target to be built

comment:38 Changed 19 months ago by dimpase

what's the story with AC_FC_FUNC?

comment:39 Changed 19 months ago by mkoeppe

See #29104 - your solution didn’t work

comment:40 Changed 19 months ago by dimpase

Oops, it seems there is no way to call AC_FC_FUNC conditionally, it is still called even if there is no Fortran detected.

Weird, I don't understand why this happens.

comment:41 Changed 19 months ago by git

  • Commit changed from 31f92509ad01638e3bcca9c36e177b1ff49cf3a7 to 6490d74377ac8f3dc3c466f40fcf6326cbcd7b9f

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

6490d74tox.ini: Do not run git testsuite (fails)

comment:42 Changed 19 months ago by dimpase

I sent a message to autoconf bugs mailing list, asking whether inabiity to chain AC_FC_FREEFORM and AC_FC_FUNC is a bug.


New commits:

6490d74tox.ini: Do not run git testsuite (fails)

comment:43 Changed 19 months ago by git

  • Commit changed from 6490d74377ac8f3dc3c466f40fcf6326cbcd7b9f to f15ddbbaa2a084ec29f21aad6941318dd3f6034c

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

46a220eImplement SAGE_CHECK=warn, sage-spkg -w
c1f09ecMerge branch 't/29301/sage_spkg__add_an_option__w_for_warning_only_if_spkg_check_fails' into t/29087/CI-gh-actions-tox-configure-build
f15ddbbUse SAGE_CHECK=warn, disable git/ppl testsuites

comment:44 Changed 19 months ago by mkoeppe

  • Dependencies changed from #29104, #26351, #29304, #29295, #29273 to #29104, #26351, #29304, #29295, #29273, #29301

New commits:

46a220eImplement SAGE_CHECK=warn, sage-spkg -w
c1f09ecMerge branch 't/29301/sage_spkg__add_an_option__w_for_warning_only_if_spkg_check_fails' into t/29087/CI-gh-actions-tox-configure-build
f15ddbbUse SAGE_CHECK=warn, disable git/ppl testsuites

comment:45 Changed 19 months ago by git

  • Commit changed from f15ddbbaa2a084ec29f21aad6941318dd3f6034c to 4941359cb52ac52d1f1eea65ed5f9399bef435d5

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

0f70082build/pkgs/cygwin.txt: gcc -> gcc-core, gcc-c++
47e4395build/pkgs/cygwin.txt: Add libcrypt0
d95e51asrc/doc/bootstrap: Generate cygwin.txt, cygwin-optional.txt
36f7b59Merge branch 't/29106/ticket-29106' into t/29295/29106+ci
4941359Merge branch 't/29295/29106+ci' into t/29087/CI-gh-actions-tox-configure-build

comment:46 Changed 19 months ago by git

  • Commit changed from 4941359cb52ac52d1f1eea65ed5f9399bef435d5 to 8972699acf00cdc3c4853253ebe3f5b37dbd49da

Branch pushed to git repo; I updated commit sha1. 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

comment:47 Changed 19 months ago by git

  • Commit changed from 8972699acf00cdc3c4853253ebe3f5b37dbd49da to 16f979d36a4b9923012f32d7ae9649d52ce722bb

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

8802016test 'make build' and ptest
16f979dbuild/bin/write-dockerfile.sh: Before adding src, make TARGETS_PRE; afterwards, make TARGETS.

comment:48 Changed 19 months ago by git

  • Commit changed from 16f979d36a4b9923012f32d7ae9649d52ce722bb to 5b7d9a5b1cb91f36c57e96ed5a9a7827a8ac36f5

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

5b7d9a5Also store test logs in the artifact

comment:49 Changed 19 months ago by git

  • Commit changed from 5b7d9a5b1cb91f36c57e96ed5a9a7827a8ac36f5 to 967b49da178b14a7ff548430c6315bb75b569190

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

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

comment:50 Changed 18 months ago by git

  • Commit changed from 967b49da178b14a7ff548430c6315bb75b569190 to 5627ee1408c4b1676c0ea5837cf66b6eb069528b

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

5776abfbuild/bin/sage-guess-package-system: New
6807e0dconfigure: Output a notice regarding recommended system packages
479c521build/bin/sage-guess-package-system: Suppress error output
cee2894m4/sage_spkg_collect.m4: Fixup
9a8f693Merge tag '9.1.beta7' into t/27351/at_end_of_configure__suggest_a_list_of_system_packages_to_install
35e1e7dAdd missing file build/bin/sage-get-system-packages
3fc734bMerge branch 't/27351/at_end_of_configure__suggest_a_list_of_system_packages_to_install' into t/29087/CI-gh-actions-tox-configure-build
16485f4m4/sage_spkg_collect.m4: Adjust style of configgure messages
d6e8332.github/workflows/tox.yml: Mark up configure notice/warning/error
5627ee1.github/workflows/tox.yml: Fix last change: Do not ignore errors from tox

comment:51 Changed 18 months ago by mkoeppe

  • Dependencies changed from #29104, #26351, #29304, #29295, #29273, #29301 to #29104, #26351, #29304, #29295, #29273, #29301, #27351

comment:52 Changed 18 months ago by git

  • Commit changed from 5627ee1408c4b1676c0ea5837cf66b6eb069528b to 4a1a71213668f5740fcd8db60669a4b8c33dfb5c

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

883cd1etox.ini [docker-slackware-14.2]: New
af234e2Merge branch 't/29354/tox_ini__add_slackware_environments' into t/29087/CI-gh-actions-tox-configure-build
4a1a712.github/workflows/tox.yml: Add slackware-14.2

comment:53 Changed 18 months ago by mkoeppe

  • Dependencies changed from #29104, #26351, #29304, #29295, #29273, #29301, #27351 to #29104, #26351, #29304, #29295, #29273, #29301, #27351, #29354

comment:54 Changed 18 months ago by dimpase

Could you factor out into a separate ticket the fix for AC_FC_FREEFORM and AC_FC_FUNC thing? Cause it's really a bug fix.

comment:55 Changed 18 months ago by mkoeppe

Will do.

comment:56 Changed 18 months ago by mkoeppe

This is now #29361

comment:57 Changed 18 months ago by git

  • Commit changed from 4a1a71213668f5740fcd8db60669a4b8c33dfb5c to 576a18834a16ff05cd6894172a55e86bcc95d407

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

96553dbbuild/pkgs/ntl/spkg-configure.m4: Check for NTL configuration
ec5cd78Merge branch 't/29339/fix_ntl_spkg_configure_m4_so_it_rejects_ntls_built_with_ntl_threads__without_ntl_gmp_lip__without_ntl_gf2x_lib' into t/29104/tox-homebrew
c3bc092Remove tests for NTL_GMP_LIP, NTL_GF2X_LIB
6d2f6e1Merge branch 't/29339/fix_ntl_spkg_configure_m4_so_it_rejects_ntls_built_with_ntl_threads__without_ntl_gmp_lip__without_ntl_gf2x_lib' into t/29104/tox-homebrew
14e9f12build/pkgs/ntl/distros/homebrew.txt: Remove ntl
70e161bRemove use of homebrew packages flint, arb
11f7729build/pkgs/patch/distros/homebrew.txt: New
93a0421build/pkgs/boost*/distros/homebrew.txt: New
4c653c2.gitignore: Add prefix
576a188Merge branch 't/29104/tox-homebrew' into t/29087/CI-gh-actions-tox-configure-build

comment:58 Changed 18 months ago by mkoeppe

  • Dependencies changed from #29104, #26351, #29304, #29295, #29273, #29301, #27351, #29354 to #29104, #29304, #29295, #29301, #29354, #29352

comment:59 Changed 18 months ago by git

  • Commit changed from 576a18834a16ff05cd6894172a55e86bcc95d407 to e6a44a327bf01ca67e3567df1ed6e9b33a580915

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

e8b56ee.github/workflows/tox.yml: Set TARGETS=build
4cee692tox.yml: Add linuxmint-19.3
bcbe627tox.ini: Do not run git testsuite (fails)
d8deee4Use SAGE_CHECK=warn, disable git/ppl testsuites
fe33952test 'make build' and ptest
1311a1dbuild/bin/write-dockerfile.sh: Before adding src, make TARGETS_PRE; afterwards, make TARGETS.
932d46aAlso store test logs in the artifact
719c4bf.github/workflows/tox.yml: Mark up configure notice/warning/error
ad51524.github/workflows/tox.yml: Fix last change: Do not ignore errors from tox
e6a44a3.github/workflows/tox.yml: Add slackware-14.2

comment:60 Changed 18 months ago by git

  • Commit changed from e6a44a327bf01ca67e3567df1ed6e9b33a580915 to 2cccbe50a4df13cfb00e27f08b95fe2904d6f2f4

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

dfce7d4tox.ini [local]: Pass MAKE environment variable, do not default to 'make -j12', change default target to 'build', add doc
2cccbe5Merge branch 't/29104/tox-homebrew' into t/29087/CI-gh-actions-tox-configure-build

comment:61 Changed 18 months ago by git

  • Commit changed from 2cccbe50a4df13cfb00e27f08b95fe2904d6f2f4 to 566533cc89d6767fd069d991b541dd41038e2f23

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

566533cgithub/workflows/tox.yml [tox-local-homebrew-macos]: Set parallelization separately for build and doctests

comment:62 Changed 18 months ago by dimpase

So do I understand correctly that merging this into a branch and pushing to github (to a repo with enabled GitHub actions) will trigger the testing. This is not so nice UI. Do I miss something here?

I guess it's just one file that needs to be changed, which one?

I'd prefer to have a command-line way (perhaps using some GitHub tools) to trigger GH Actions on a given branch, say.

Last edited 18 months ago by dimpase (previous) (diff)

comment:63 Changed 18 months ago by mkoeppe

When this ticket is merged into Sage, it will suffice to just push to github.

comment:64 Changed 18 months ago by mkoeppe

  • Summary changed from Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions via docker; and macOS with homebrew to Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions via docker; macOS with homebrew; and Windows (cygwin)

comment:65 Changed 18 months ago by mkoeppe

Because the checks run for hours, it would probably be better to run the workflow only on pull requests, rather than on all pushes.

https://help.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-event-pull_request

on:
  pull_request:
    types: [opened, synchronize]

comment:66 Changed 18 months ago by mkoeppe

Then gh pr create -f -d would be a command line interface to trigger the GH actions run. https://cli.github.com/manual/gh_pr_create

comment:67 Changed 18 months ago by git

  • Commit changed from 566533cc89d6767fd069d991b541dd41038e2f23 to 2b0cbb9bda74696e8cf3a2a600c3a4cf9c9af7a3

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

48da617tox.yml: Run on pull requests only
a33b72atox.ini: Add configuration factor 'python2'; [local] respect EXTRA_CONFIGURE_ARGS
6fbe6c4Merge branch 't/29367/tox_ini__add_tests_for_python2' into t/29087/CI-gh-actions-tox-configure-build
2b0cbb9tox.yml: Test with python2 as well

comment:68 Changed 18 months ago by mkoeppe

  • Dependencies changed from #29104, #29304, #29295, #29301, #29354, #29352 to #29104, #29304, #29295, #29301, #29354, #29352, #29367
  • Description modified (diff)
  • Summary changed from Add GitHub Actions workflow for testing spkg-configure / build on various Linux distributions via docker; macOS with homebrew; and Windows (cygwin) to Add GitHub Actions workflow for testing the build on various Linux distributions via docker; macOS with homebrew; and Windows (cygwin)

comment:69 Changed 18 months ago by git

  • Commit changed from 2b0cbb9bda74696e8cf3a2a600c3a4cf9c9af7a3 to 0f7c9e0190fbe8eecf4812d1d50030c1efa12a99

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

0f7c9e0ci-cygwin.yml: Run on pull requests only

comment:70 follow-up: Changed 18 months ago by dimpase

how does one control the platforms the tests are run on? Often one needs to check on a couple of different OSs at most, and the current setup looks quite wasteful.

comment:71 Changed 18 months ago by git

  • Commit changed from 0f7c9e0190fbe8eecf4812d1d50030c1efa12a99 to 4dcb568e619ec2540dd1bea2f7c3b4bf328b5782

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

4dcb568tox.yml [docker]: Set SAGE_NUM_THREADS to address timeouts in doctests

comment:72 Changed 18 months ago by git

  • Commit changed from 4dcb568e619ec2540dd1bea2f7c3b4bf328b5782 to d95a6885ce70ace12e60252dc05b9899257fcd8f

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

65834f0Reorder systems so debian-sid comes after other debians
d95a688tox.ini [ubuntu-focal]: Use IGNORE_MISSING_SYSTEM_PACKAGES=yes because of libpython3.7-dev

comment:73 Changed 18 months ago by git

  • Commit changed from d95a6885ce70ace12e60252dc05b9899257fcd8f to 9939051ef6326c46861c219fb4994144b4ae5ec9

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

3896794Merge tag '9.1.beta8' into t/29354/tox_ini__add_slackware_environments
bda9ebdAdd slackware package info
fbb7393Fixup packages
cfcd8f2build/bin/sage-guess-package-system, build/bin/sage-print-system-package-command: Handle slackware too
136feebbuild/bin/sage-spkg: Show equivalent system packages for ALL distros
9939051Merge branch 't/29354/tox_ini__add_slackware_environments' into t/29087/CI-gh-actions-tox-configure-build

comment:74 in reply to: ↑ 70 Changed 18 months ago by mkoeppe

Replying to dimpase:

how does one control the platforms the tests are run on? Often one needs to check on a couple of different OSs at most, and the current setup looks quite wasteful.

By editing the section called matrix in the file .github/workflows/tox.yml.

comment:75 Changed 18 months ago by mkoeppe

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

----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 3638.0 seconds
    cpu time: 5482.8 seconds
    cumulative wall time: 10347.2 seconds
Error processing tar file(exit status 1): write /sage/src/build/temp.linux-x86_64-3.7/build/cythonized/sage/rings/finite_rings/integer_mod.o: no space left on device
ERROR: InvocationError: '/usr/bin/docker build . -f /home/runner/work/sage/sage/.tox/docker-ubuntu-trusty-minimal/Dockerfile --build-arg EXTRA_CONFIGURE_ARGS=   --build-arg BASE_IMAGE=ubuntu:trusty --build-arg USE_MAKEFLAGS=-k V=0 SAGE_NUM_THREADS=3 --build-arg TARGETS=build ptest'

docker build ends with "no space left on device" · Issue #18144 · moby/moby https://github.com/moby/moby/issues/18144

Error pulling image (...) no space left on device · Issue #10613 · moby/moby https://github.com/moby/moby/issues/10613

dockerd | Docker Documentation https://docs.docker.com/engine/reference/commandline/dockerd/#storage-driver-options

Configure and troubleshoot the Docker daemon | Docker Documentation https://docs.docker.com/config/daemon/

comment:76 Changed 18 months ago by dimpase

  • Reviewers set to Dima Pasechnik

comment:77 Changed 18 months ago by mkoeppe

  • Reviewers Dima Pasechnik deleted

comment:78 Changed 18 months ago by mkoeppe

  • Reviewers set to Dima Pasechnik

comment:79 Changed 18 months ago by mkoeppe

  • Description modified (diff)

comment:80 Changed 18 months ago by dimpase

  • Status changed from needs_review to positive_review

this needs more documentation, I gather - on a followup ticket, something to be mentioned in README.md too. But this is good to go, I think.

comment:81 Changed 18 months ago by mkoeppe

Thanks! I've created #29401 - Add documentation

comment:82 Changed 18 months ago by dimpase

this needs a rebase.

comment:83 Changed 18 months ago by git

  • Commit changed from 9939051ef6326c46861c219fb4994144b4ae5ec9 to cbcd65717008f5dc571a7b2c0b67249157cf4526
  • Status changed from positive_review to needs_review

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

cbcd657Merge tag '9.1.beta9' into t/29415/tox_ini__add_environment_local_conda

comment:84 Changed 18 months ago by mkoeppe

Merged 9.1.beta9

comment:85 Changed 18 months ago by mkoeppe

  • Dependencies changed from #29104, #29304, #29295, #29301, #29354, #29352, #29367 to #29367

comment:86 Changed 18 months ago by mkoeppe

  • Status changed from needs_review to positive_review

comment:87 Changed 18 months ago by vbraun

  • Branch changed from u/mkoeppe/CI-gh-actions-tox-configure-build to cbcd65717008f5dc571a7b2c0b67249157cf4526
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.