Closed zekemorton closed 2 years ago
How are the runs triggered at LLNL? One what hardware / resources are the tests running ?
@andre-merzky The runs are pretty much triggered manually, at least with our workflow/PR process. This pipeline is running on the LC Machine Quartz, as noted by the tags in the .gitlab-ci.yaml
. In future PRs we could add in tests to run on additional machines.
This PR adds in bare metal CI tests for gitlab. These tests utilize Spack to build the SDK and come in the form of 3 new jobs added into the CI pipeline.
The first stage uses Spack to build the SDK. This build process is aided with a couple configuration files.
config.yaml
is essentially a copy of the default Spack configuration except that the field forurl_fetch_method
is set tocurl
instead of the default ofurllib
. This change was made because the default option seemed to result in some intermittent timeout failures when tested on LLNL machines.packages.yaml
contains information on some of the SDK dependencies and where they can already be found on the machine running the build. This configuration will likely be site or machine specific. In this PR both configuration files have been added to theci/llnl/
directory for they may both be site specific. Currently neither configuration file is actively used, but represents a template for what may exist in~/.spack/
.The second stage uses the previously built Spack environment to run smoke tests on each of the 4 packages. The tests are run by calling
ci/tests/<package name>/test.sh
. These simple smoke tests can be improved upon and added to in future PRs. Additionally, integration tests can be added as well by adding an addition directory/ci/tests/<integration>/
. The RP tests use an on premise mongodb instance, which is connected to with an injected connection string variable.The third stage cleans and removes the Spack environment created from the first stage.