spack/share/spack
Scott Wittenburg 5b0507cc65
Pipelines: Temporary buildcache storage (#21474)
Before this change, in pipeline environments where runners do not have access
to persistent shared file-system storage, the only way to pass buildcaches to
dependents in later stages was by using the "enable-artifacts-buildcache" flag
in the gitlab-ci section of the spack.yaml.  This change supports a second
mechanism, named "temporary-storage-url-prefix", which can be provided instead
of the "enable-artifacts-buildcache" feature, but the two cannot be used at the
same time.  If this prefix is provided (only "file://" and "s3://" urls are
supported), the gitlab "CI_PIPELINE_ID" will be appended to it to create a url
for a mirror where pipeline jobs will write buildcache entries for use by jobs
in subsequent stages.  If this prefix is provided, a cleanup job will be
generated to run after all the rebuild jobs have finished that will delete the
contents of the temporary mirror.  To support this behavior a new mirror
sub-command has been added: "spack mirror destroy" which can take either a
mirror name or url.

This change also fixes a bug in generation of "needs" list for each job.  Each
jobs "needs" list is supposed to only contain direct dependencies for scheduling
purposes, unless "enable-artifacts-buildcache" is specified.  Only in that case
are the needs lists supposed to contain all transitive dependencies.  This
changes fixes a bug that caused the needs lists to always contain all transitive
dependencies, regardless of whether or not "enable-artifacts-buildcache" was
specified.
2021-02-16 18:21:18 -07:00
..
bash copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
csh copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
docker copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
docs/docker/module-file-tutorial copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
gitlab Remove ascent gitlab trigger (#20755) 2021-01-08 12:57:50 -07:00
keys add tutorial public key to share/spack/keys dir (#17684) 2020-07-23 14:35:25 -07:00
logo add artisanal handcrafted SVG Spack logo. (#6165) 2017-11-06 22:42:16 -08:00
qa copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
templates copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
setup-env.csh Introduce a SPACK_PYTHON environment variable (#21222) 2021-02-12 10:52:44 -08:00
setup-env.fish Add RHEL8 Universal Base Image with platform-python to CI unit tests (#21655) 2021-02-16 13:49:05 -05:00
setup-env.sh Introduce a SPACK_PYTHON environment variable (#21222) 2021-02-12 10:52:44 -08:00
setup-tutorial-env.sh copyrights: update all files with license headers for 2021 2021-01-02 12:12:00 -08:00
spack-completion.bash Pipelines: Temporary buildcache storage (#21474) 2021-02-16 18:21:18 -07:00