summaryrefslogtreecommitdiff
path: root/.github/workflows/bootstrap.yml
AgeCommit message (Collapse)AuthorFilesLines
2022-09-07Make GHA tests parallel by using xdist (#32361)Tom Scogland1-1/+1
* Add two no-op jobs named "all-prechecks" and "all" These are a suggestion from @tgamblin, they are stable named markers we can use from gitlab and possibly for required checks to make CI more resilient to refactors changing the names of specific checks. * Enable parallel testing using xdist for unit testing in CI * Normalize tmp paths to deal with macos * add -u flag compatibility to spack python As of now, it is accepted and ignored. The usage with xdist, where it is invoked specifically by `python -u spack python` which is then passed `-u` by xdist is the entire reason for doing this. It should never be used without explicitly passing -u to the executing python interpreter. * use spack python in xdist to support python 2 When running on python2, spack has many import cycles unless started through main. To allow that, this uses `spack python` as the interpreter, leveraging the `-u` support so xdist doesn't error out when it unconditionally requests unbuffered binary IO. * Use shutil.move to account for tmpdir being in a separate filesystem sometimes
2022-09-02Reorder workflow execution in GHA (#32183)Tom Scogland1-51/+53
This patchset refactors our GitHub actions into a single top-level ci workflow that invokes a series of reusable actions. The main goal of this is to be able to easily control which tests run and in what order based on the success or failure of top-level prechecks. Our previous workflows ran in three sets: * nix tests: style and verification first, then linux and macos tests if successful * windows tests: style and verification first, then linux and macos tests if successful * bootstrap tests As a result, the bootstrap tests ran even if the style failed, and style and verification had to run on two different platforms despite running identical checks. I'm relatively sure that's because of the limitation on dependencies between steps in the jobs. Reusable workflows allow us to run the style, verification and now audit checks once, then depending on the results, and the files changed, run the appropriate nix, windows and bootstrap tests. While it saves only a few minutes by itself, this makes it easier to refactor checks to subset tests without having to replicate tests or other workflow components in the future. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-08-04Deprecate support for Python 3.5 (by removing it from CI) (#31908)Massimiliano Culpo1-2/+2
* Deprecate support for Python 3.5 (by removing it from CI) * Restore Python 3.9
2022-08-03Remove macOS 10.15 from bootstrap tests (#31890)Massimiliano Culpo1-1/+1
That version of the runners have been deprecated, see: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22/
2022-08-03build(deps): bump actions/setup-python from 4.1.0 to 4.2.0 (#31882)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.1.0 to 4.2.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/c4e89fac7e8767b327bbad6cb4d859eda999cf08...b55428b1882923874294fa556849718a1d7f2ca5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-12build(deps): bump actions/setup-python from 4.0.0 to 4.1.0 (#31526)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/d09bd5e6005b175076f227b13d9730d56e9dcfcb...c4e89fac7e8767b327bbad6cb4d859eda999cf08) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-16CI: test binary bootstrapping of clingo on all macOS versions (#31160)Massimiliano Culpo1-1/+2
2022-06-10build(deps): bump actions/setup-python from 3.1.2 to 4 (#31059)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3.1.2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/98f2ad02fd48d057ee3b4d4f66525b231c3e52b6...d09bd5e6005b175076f227b13d9730d56e9dcfcb) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-09clingo: fix ~python build (#30824)Adam J. Stewart1-0/+1
2022-06-08Cancel running workflows automatically on PR update (#31044)Massimiliano Culpo1-0/+4
* Cancel running workflows automatically on PR update * Add the last update later to check cancellation is working * Use github.run_number instead of github.sha
2022-05-19Run scheduled CI workflows only in the main repo (#30729)Wileam Y. Phan1-0/+11
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-05-10bootstrap: clean up CI workflows a bit (#30574)Todd Gamblin1-61/+66
- [x] Add `mkdir -p` and `chmod` to ensure `/home/spack-test` exists and has correct permissions. - [x] Remove version comments from dependabot-managed action commits - [x] Don't duplicate comment describing required fixes for distros with patched git
2022-05-09CI: fix bootstrapping on Fedora (#30559)Massimiliano Culpo1-0/+6
Fedora updated git, so we need to apply, again, the workaround for CVE-2022-24765
2022-05-02Fix issue in CI with Git 2.35 (#30436)Massimiliano Culpo1-0/+2
2022-04-27build(deps): bump actions/checkout from 2 to 3.0.2 (#30235)dependabot[bot]1-11/+11
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.0.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...2541b1294d2704b0964813337f33b291d3f8596b) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-14build(deps): bump actions/setup-python from 3.1.1 to 3.1.2 (#30017)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3.1.1 to 3.1.2. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/21c0493ecfd34b1217f0a90ec19a327f3cc0a048...98f2ad02fd48d057ee3b4d4f66525b231c3e52b6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-13Add support for Python 3.10 (#29581)Massimiliano Culpo1-8/+8
* Add support for Python 3.10 * Update unit-tests to use 3.10 * Update Getting started section of the docs * Update bootstrap action
2022-04-13CI: avoid issues with Ubuntu patched git by adding safe.directory (#30042)Massimiliano Culpo1-0/+32
Ubuntu patched git v2.25.1 with a security fix that also introduced a breaking change, so v2.25.1 behaves like v2.35.2 with respect to the use cases in CVE-2022-24765
2022-04-11build(deps): bump actions/setup-python from 3.1.0 to 3.1.1 (#29956)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3.1.0 to 3.1.1. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/9c644ca2ab8e57ea0a487b5ec2f8290740378bfd...21c0493ecfd34b1217f0a90ec19a327f3cc0a048) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-04build(deps): bump actions/setup-python from 2 to 3.1.0 (#29843)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.1.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...9c644ca2ab8e57ea0a487b5ec2f8290740378bfd) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-03build(deps): bump actions/setup-python from 2.3.1 to 3 (#29253)dependabot[bot]1-2/+2
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2.3.1 to 3. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/f38219332975fe8f9c04cca981d674bf22aea1d3...0ebf233433c08fb9061af664d501c3f3ff0e9e20) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-03build(deps): bump actions/checkout from 2 to 3 (#29276)dependabot[bot]1-11/+11
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...a12a3943b4bdde767164f792f33f40b04645d846) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-28Update actions/setup-python to latest version (#28634)Massimiliano Culpo1-2/+2
2021-11-26Bootstrap patchelf like GnuPG (#27532)Massimiliano Culpo1-0/+28
Remove a custom bootstrapping procedure to use spack.bootstrap instead Modifications: * Reference count the bootstrap context manager * Avoid SpackCommand to make the bootstrapping procedure more transparent * Put back requirement on patchelf being in PATH for unit tests * Add an e2e test to check bootstrapping patchelf
2021-11-09Allow triggering the "Bootstrap" workflow manually (#27298)Massimiliano Culpo1-0/+2
2021-11-08OpenSUSE: try to apply workaround to avoid CI error (#27275)Massimiliano Culpo1-1/+2
2021-11-02Bootstrap GnuPG (#24003)Massimiliano Culpo1-5/+95
* GnuPG: allow bootstrapping from buildcache and sources * Add a test to bootstrap GnuPG from binaries * Disable bootstrapping in tests * Add e2e test to bootstrap GnuPG from sources on Ubuntu * Add e2e test to bootstrap GnuPG on macOS
2021-11-03build(deps): bump actions/checkout from 2.3.5 to 2.4.0 (#27179)dependabot[bot]1-6/+6
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/1e204e9a9253d643386038d443f96446fa156a97...ec3a7ce113134d7a93b817d10a8272cb61118579) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-02build(deps): bump actions/checkout from 2.3.4 to 2.3.5 (#27135)dependabot[bot]1-6/+6
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f...1e204e9a9253d643386038d443f96446fa156a97) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-01Pin actions to a commit sha instead of tag (#26538)Harmen Stoppels1-8/+8
2021-09-24Use Leap instead of Tumbleweed for e2e bootstrapping test (#26205)Massimiliano Culpo1-1/+1
Tumbleweed has been broken for a couple of days. The attempt to fix it in #26170 didn't really work. Let's try to move to a more stable release series for OpenSuse.
2021-09-23Pin opensuse image in bootstrap tests (#26170)Harmen Stoppels1-1/+1
Currently zypper in opensuse containers throws 'not permitted' Temporarily fix the digest until they fixed their upstream package manager issues
2021-08-23re2c: add versions up to v2.2 (#25500)Harmen Stoppels1-0/+1
2021-08-18Bootstrap clingo from binaries (#22720)Massimiliano Culpo1-4/+51
* Bootstrap clingo from binaries * Move information on clingo binaries to a JSON file * Add support to bootstrap on Cray Bootstrapping on Cray requires, at the moment, to swap the platform when looking for binaries - due to #22800. * Add SHA256 verification for bootstrapped software Use sha256 verification for binaries necessary to bootstrap the concretizer and gpg for signature verification * patchelf: use Spec._old_concretize() to bootstrap As noted in #24450 we may happen to need the concretizer when bootstrapping clingo. In that case only the old concretizer is available. * Add a schema for bootstrapping methods Two fields have been added to bootstrap.yaml: "sources" which lists the methods available for bootstrapping software "trusted" which records if a source is trusted or not A subcommand has been added to "spack bootstrap" to list the sources currently available. * Methods used for bootstrapping are configurable from bootstrap:sources The function that tries to ensure a given Python module is importable now tries bootstrapping methods in the same order as they are defined in `bootstrap.yaml` * Permit to trust/untrust bootstrapping methods * Add binary tests for MacOS, Ubuntu * Add documentation * Add a note on bash
2021-08-03Test bootstrapping in a workflow (#25138)Massimiliano Culpo1-0/+113
Add a workflow to test bootstrapping clingo on different platforms so that we can detect changes that break it. Compute `site_packages_dir` in `bootstrap.py` as it was before #24095, until we figure a better way to override that attribute.