Opened 3 years ago

Closed 2 years ago

#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 3 years ago by mkoeppe

  • Dependencies set to #29053

comment:2 follow-up: Changed 3 years 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 3 years ago by mkoeppe

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

comment:4 Changed 3 years 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 3 years 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 3 years ago by mkoeppe

  • Keywords docker ContinuousIntegration added

comment:7 follow-up: Changed 3 years 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 3 years 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 3 years 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 3 years 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 3 years ago by mkoeppe

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

comment:12 Changed 3 years 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 3 years 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 3 years 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 3 years 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 3 years 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 3 years ago by mkoeppe

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

comment:18 Changed 3 years 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 3 years 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 3 years 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 3 years 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 3 years 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 3 years 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 2 years 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 2 years ago by mkoeppe

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

comment:26 Changed 2 years 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 2 years ago by mkoeppe

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

comment:28 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by mkoeppe

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

comment:34 Changed 2 years ago by mkoeppe

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

comment:35 Changed 2 years 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 2 years 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 2 years 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 2 years ago by dimpase

what's the story with AC_FC_FUNC?

comment:39 Changed 2 years ago by mkoeppe

See #29104 - your solution didn’t work

comment:40 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by mkoeppe

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

comment:52 Changed 2 years 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 2 years 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 2 years 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 2 years ago by mkoeppe

Will do.

comment:56 Changed 2 years ago by mkoeppe

This is now #29361

comment:57 Changed 2 years 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 2 years ago by mkoeppe

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

comment:59 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by dimpase (previous) (diff)

comment:63 Changed 2 years ago by mkoeppe

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

comment:64 Changed 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago by dimpase

  • Reviewers set to Dima Pasechnik

comment:77 Changed 2 years ago by mkoeppe

  • Reviewers Dima Pasechnik deleted

comment:78 Changed 2 years ago by mkoeppe

  • Reviewers set to Dima Pasechnik

comment:79 Changed 2 years ago by mkoeppe

  • Description modified (diff)

comment:80 Changed 2 years 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 2 years ago by mkoeppe

Thanks! I've created #29401 - Add documentation

comment:82 Changed 2 years ago by dimpase

this needs a rebase.

comment:83 Changed 2 years 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 2 years ago by mkoeppe

Merged 9.1.beta9

comment:85 Changed 2 years ago by mkoeppe

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

comment:86 Changed 2 years ago by mkoeppe

  • Status changed from needs_review to positive_review

comment:87 Changed 2 years 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.