summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2021-08-03 16:53:40 +0200
committerGitHub <noreply@github.com>2021-08-03 16:53:40 +0200
commit0026d60b607f4e6ab67026dfe1126cfcc6afe1c4 (patch)
treeee2f7adef07c4458462a5749afbf2f2a71d72a1b /.github/workflows
parent15bc4faf2d042bc166c1b1a326dc3c9221e49d34 (diff)
downloadspack-0026d60b607f4e6ab67026dfe1126cfcc6afe1c4.tar.gz
spack-0026d60b607f4e6ab67026dfe1126cfcc6afe1c4.tar.bz2
spack-0026d60b607f4e6ab67026dfe1126cfcc6afe1c4.tar.xz
spack-0026d60b607f4e6ab67026dfe1126cfcc6afe1c4.zip
Test bootstrapping in a workflow (#25138)
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.
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/bootstrap.yml113
1 files changed, 113 insertions, 0 deletions
diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml
new file mode 100644
index 0000000000..70fe9bf58a
--- /dev/null
+++ b/.github/workflows/bootstrap.yml
@@ -0,0 +1,113 @@
+name: Bootstrapping
+
+on:
+ pull_request:
+ branches:
+ - develop
+ - releases/**
+ paths-ignore:
+ # Don't run if we only modified packages in the
+ # built-in repository or documentation
+ - 'var/spack/repos/builtin/**'
+ - '!var/spack/repos/builtin/packages/clingo-bootstrap/**'
+ - '!var/spack/repos/builtin/packages/python/**'
+ - 'lib/spack/docs/**'
+ schedule:
+ # nightly at 2:16 AM
+ - cron: '16 2 * * *'
+
+jobs:
+
+ fedora:
+ runs-on: ubuntu-latest
+ container: "fedora:latest"
+ steps:
+ - name: Install dependencies
+ run: |
+ dnf install -y \
+ bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \
+ make patch unzip which xz python3 python3-devel tree \
+ cmake bison bison-devel libstdc++-static
+ - uses: actions/checkout@v2
+ - name: Setup repo and non-root user
+ run: |
+ git --version
+ git fetch --unshallow
+ . .github/workflows/setup_git.sh
+ useradd spack-test
+ chown -R spack-test .
+ - name: Bootstrap clingo
+ shell: runuser -u spack-test -- bash {0}
+ run: |
+ source share/spack/setup-env.sh
+ spack external find cmake bison
+ spack -d solve zlib
+ tree ~/.spack/bootstrap/store/
+
+ ubuntu:
+ runs-on: ubuntu-latest
+ container: "ubuntu:latest"
+ steps:
+ - name: Install dependencies
+ env:
+ DEBIAN_FRONTEND: noninteractive
+ run: |
+ apt-get update -y && apt-get upgrade -y
+ apt-get install -y \
+ bzip2 curl file g++ gcc gfortran git gnupg2 gzip \
+ make patch unzip xz-utils python3 python3-dev tree \
+ cmake bison
+ - uses: actions/checkout@v2
+ - name: Setup repo and non-root user
+ run: |
+ git --version
+ git fetch --unshallow
+ . .github/workflows/setup_git.sh
+ useradd -m spack-test
+ chown -R spack-test .
+ - name: Bootstrap clingo
+ shell: runuser -u spack-test -- bash {0}
+ run: |
+ source share/spack/setup-env.sh
+ spack external find cmake bison
+ spack -d solve zlib
+ tree ~/.spack/bootstrap/store/
+
+ opensuse:
+ runs-on: ubuntu-latest
+ container: "opensuse/tumbleweed:latest"
+ steps:
+ - name: Install dependencies
+ run: |
+ zypper update -y
+ zypper install -y \
+ bzip2 curl file gcc-c++ gcc gcc-fortran tar git gpg2 gzip \
+ make patch unzip which xz python3 python3-devel tree \
+ cmake bison
+ - uses: actions/checkout@v2
+ - name: Setup repo and non-root user
+ run: |
+ git --version
+ git fetch --unshallow
+ . .github/workflows/setup_git.sh
+ - name: Bootstrap clingo
+ run: |
+ source share/spack/setup-env.sh
+ spack external find cmake bison
+ spack -d solve zlib
+ tree ~/.spack/bootstrap/store/
+
+ macos:
+ runs-on: macos-latest
+ steps:
+ - name: Install dependencies
+ run: |
+ brew install cmake bison@2.7 tree
+ - uses: actions/checkout@v2
+ - name: Bootstrap clingo
+ run: |
+ source share/spack/setup-env.sh
+ export PATH=/usr/local/opt/bison@2.7/bin:$PATH
+ spack external find --not-buildable cmake bison
+ spack -d solve zlib
+ tree ~/.spack/bootstrap/store/