Skip to content

Commit

Permalink
Move build tests from GA to Gitlab (spack#25120)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
alalazo authored Jul 29, 2021
1 parent adb507b commit b42b0cd
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 79 deletions.
77 changes: 0 additions & 77 deletions .github/workflows/linux_build_tests.yaml

This file was deleted.

1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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

[![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)
[![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)
Expand Down
32 changes: 31 additions & 1 deletion share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ default:
# 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
#
# Then add the following entries at the bottom of this file:
Expand Down Expand Up @@ -158,3 +158,33 @@ e4s-on-power-develop-build:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: e4s-on-power-develop-generate
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
61 changes: 61 additions & 0 deletions share/spack/gitlab/cloud_pipelines/stacks/build_systems/spack.yaml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit b42b0cd

Please sign in to comment.