Skip to content

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

@mkoeppe

Description

@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:

Depends on #29367

CC: @dimpase @vbraun @saraedum @isuruf @antonio-rojas @kiwifb

Component: build

Keywords: ContinuousIntegration

Author: Matthias Koeppe

Branch/Commit: cbcd657

Reviewer: Dima Pasechnik

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions