Move build tests from GA to Gitlab (#25120)
Modifications: - Remove the "build tests" workflow from GitHub Actions - Setup a similar e2e test on Gitlab In this way we'll reduce load on GitHub Actions workflows and for e2e tests will benefit from the buildcache reuse granted by pipelines.
This commit is contained in:
parent
adb507bdd9
commit
b42b0cd45a
4 changed files with 92 additions and 79 deletions
77
.github/workflows/linux_build_tests.yaml
vendored
77
.github/workflows/linux_build_tests.yaml
vendored
|
@ -1,77 +0,0 @@
|
||||||
name: linux builds
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- develop
|
|
||||||
- releases/**
|
|
||||||
paths-ignore:
|
|
||||||
# Don't run if we only modified packages in the built-in repository
|
|
||||||
- 'var/spack/repos/builtin/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/lz4/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/mpich/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/tut/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/py-setuptools/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/openjpeg/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/r-rcpp/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/ruby-rake/**'
|
|
||||||
# Don't run if we only modified documentation
|
|
||||||
- 'lib/spack/docs/**'
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- develop
|
|
||||||
- releases/**
|
|
||||||
paths-ignore:
|
|
||||||
# Don't run if we only modified packages in the built-in repository
|
|
||||||
- 'var/spack/repos/builtin/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/lz4/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/mpich/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/tut/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/py-setuptools/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/openjpeg/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/r-rcpp/**'
|
|
||||||
- '!var/spack/repos/builtin/packages/ruby-rake/**'
|
|
||||||
# Don't run if we only modified documentation
|
|
||||||
- 'lib/spack/docs/**'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
package:
|
|
||||||
- lz4 # MakefilePackage
|
|
||||||
- mpich~fortran # AutotoolsPackage
|
|
||||||
- 'tut%gcc@:10.99.99' # WafPackage
|
|
||||||
- py-setuptools # PythonPackage
|
|
||||||
- openjpeg # CMakePackage
|
|
||||||
- r-rcpp # RPackage
|
|
||||||
- ruby-rake # RubyPackage
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: actions/cache@v2.1.6
|
|
||||||
with:
|
|
||||||
path: ~/.ccache
|
|
||||||
key: ccache-build-${{ matrix.package }}
|
|
||||||
restore-keys: |
|
|
||||||
ccache-build-${{ matrix.package }}
|
|
||||||
- uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: 3.9
|
|
||||||
- name: Install System Packages
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get -yqq install ccache gfortran perl perl-base r-base r-base-core r-base-dev ruby findutils openssl libssl-dev libpciaccess-dev
|
|
||||||
R --version
|
|
||||||
perl --version
|
|
||||||
ruby --version
|
|
||||||
- name: Copy Configuration
|
|
||||||
run: |
|
|
||||||
ccache -M 300M && ccache -z
|
|
||||||
# Set up external deps for build tests, b/c they take too long to compile
|
|
||||||
cp share/spack/qa/configuration/*.yaml etc/spack/
|
|
||||||
- name: Run the build test
|
|
||||||
run: |
|
|
||||||
. share/spack/setup-env.sh
|
|
||||||
SPEC=${{ matrix.package }} share/spack/qa/run-build-tests
|
|
||||||
ccache -s
|
|
|
@ -1,7 +1,6 @@
|
||||||
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
|
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
|
||||||
|
|
||||||
[![Unit Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
|
[![Unit Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
|
||||||
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
|
|
||||||
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)
|
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)
|
||||||
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
|
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
|
||||||
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
|
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
|
||||||
|
|
|
@ -62,7 +62,7 @@ default:
|
||||||
# TEMPLATE FOR ADDING ANOTHER PIPELINE
|
# TEMPLATE FOR ADDING ANOTHER PIPELINE
|
||||||
########################################
|
########################################
|
||||||
#
|
#
|
||||||
# First add a new spack.yml defining the pipline to run in
|
# First add a new spack.yml defining the pipeline to run in
|
||||||
# share/spack/gitlab/cloud_pipelines/stacks/my-super-cool-stack/spack.yaml
|
# share/spack/gitlab/cloud_pipelines/stacks/my-super-cool-stack/spack.yaml
|
||||||
#
|
#
|
||||||
# Then add the following entries at the bottom of this file:
|
# Then add the following entries at the bottom of this file:
|
||||||
|
@ -158,3 +158,33 @@ e4s-on-power-develop-build:
|
||||||
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
|
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
|
||||||
job: e4s-on-power-develop-generate
|
job: e4s-on-power-develop-generate
|
||||||
strategy: depend
|
strategy: depend
|
||||||
|
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# Build tests for different build-systems
|
||||||
|
#########################################
|
||||||
|
.build_systems:
|
||||||
|
variables:
|
||||||
|
SPACK_CI_STACK_NAME: build_systems
|
||||||
|
|
||||||
|
build_systems-pr-generate:
|
||||||
|
extends: [ ".build_systems", ".pr-generate"]
|
||||||
|
|
||||||
|
build_systems-develop-generate:
|
||||||
|
extends: [ ".build_systems", ".develop-generate"]
|
||||||
|
|
||||||
|
build_systems-pr-build:
|
||||||
|
extends: [ ".build_systems", ".pr-build" ]
|
||||||
|
trigger:
|
||||||
|
include:
|
||||||
|
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
|
||||||
|
job: build_systems-pr-generate
|
||||||
|
strategy: depend
|
||||||
|
|
||||||
|
build_systems-develop-build:
|
||||||
|
extends: [ ".build_systems", ".develop-build" ]
|
||||||
|
trigger:
|
||||||
|
include:
|
||||||
|
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
|
||||||
|
job: build_systems-develop-generate
|
||||||
|
strategy: depend
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
spack:
|
||||||
|
view: false
|
||||||
|
concretization: separately
|
||||||
|
|
||||||
|
config:
|
||||||
|
install_tree:
|
||||||
|
root: /home/software/spack
|
||||||
|
padded_length: 512
|
||||||
|
projections:
|
||||||
|
all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'
|
||||||
|
|
||||||
|
definitions:
|
||||||
|
- default_specs:
|
||||||
|
- lz4 # MakefilePackage
|
||||||
|
- mpich~fortran # AutotoolsPackage
|
||||||
|
- tut # WafPackage
|
||||||
|
- py-setuptools # PythonPackage
|
||||||
|
- openjpeg # CMakePackage
|
||||||
|
- r-rcpp # RPackage
|
||||||
|
- ruby-rake # RubyPackage
|
||||||
|
- arch:
|
||||||
|
- '%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64'
|
||||||
|
|
||||||
|
specs:
|
||||||
|
- matrix:
|
||||||
|
- - $default_specs
|
||||||
|
- - $arch
|
||||||
|
|
||||||
|
mirrors: { "mirror": "s3://spack-binaries-develop/build_systems" }
|
||||||
|
|
||||||
|
gitlab-ci:
|
||||||
|
script:
|
||||||
|
- . "./share/spack/setup-env.sh"
|
||||||
|
- spack --version
|
||||||
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
- spack env activate --without-view .
|
||||||
|
- spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'"
|
||||||
|
- spack -d ci rebuild
|
||||||
|
|
||||||
|
mappings:
|
||||||
|
- match: [ 'os=ubuntu18.04' ]
|
||||||
|
runner-attributes:
|
||||||
|
image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2020-09-01", "entrypoint": [ "" ] }
|
||||||
|
tags: [ "spack", "public", "large", "x86_64" ]
|
||||||
|
|
||||||
|
temporary-storage-url-prefix: "s3://spack-binaries-prs/pipeline-storage"
|
||||||
|
broken-specs-url: "s3://spack-binaries-develop/broken-specs"
|
||||||
|
service-job-attributes:
|
||||||
|
before_script:
|
||||||
|
- . "./share/spack/setup-env.sh"
|
||||||
|
- spack --version
|
||||||
|
- cd share/spack/gitlab/cloud_pipelines/stacks/build_systems
|
||||||
|
- spack env activate --without-view .
|
||||||
|
image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2020-09-01", "entrypoint": [""] }
|
||||||
|
tags: ["spack", "public", "medium", "x86_64"]
|
||||||
|
|
||||||
|
cdash:
|
||||||
|
build-group: Build tests for different build systems
|
||||||
|
url: https://cdash.spack.io
|
||||||
|
project: Spack Testing
|
||||||
|
site: Cloud Gitlab Infrastructure
|
Loading…
Reference in a new issue