env: no automatic activation (#17258)
* env: no automatic activation * Ensure ci rebuild jobs activate the environment (no longer automagic) Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
This commit is contained in:
parent
dfac09eade
commit
56b4abbe38
@ -167,15 +167,6 @@ Any directory can be treated as an environment if it contains a file
|
|||||||
|
|
||||||
$ spack env activate -d /path/to/directory
|
$ spack env activate -d /path/to/directory
|
||||||
|
|
||||||
Spack commands that are environment sensitive will also act on the
|
|
||||||
environment any time the current working directory contains a
|
|
||||||
``spack.yaml`` file. Changing working directory to a directory
|
|
||||||
containing a ``spack.yaml`` file is equivalent to the command:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
$ spack env activate -d /path/to/dir --without-view
|
|
||||||
|
|
||||||
Anonymous specs can be created in place using the command:
|
Anonymous specs can be created in place using the command:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
@ -45,6 +45,7 @@ for setting up a build pipeline are as follows:
|
|||||||
tags:
|
tags:
|
||||||
- <custom-tag>
|
- <custom-tag>
|
||||||
script:
|
script:
|
||||||
|
- spack env activate .
|
||||||
- spack ci generate
|
- spack ci generate
|
||||||
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
|
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
|
||||||
artifacts:
|
artifacts:
|
||||||
@ -384,6 +385,7 @@ a custom spack and make sure the generated rebuild jobs will clone it too:
|
|||||||
- git clone ${SPACK_REPO} --branch ${SPACK_REF}
|
- git clone ${SPACK_REPO} --branch ${SPACK_REF}
|
||||||
- . ./spack/share/spack/setup-env.sh
|
- . ./spack/share/spack/setup-env.sh
|
||||||
script:
|
script:
|
||||||
|
- spack env activate .
|
||||||
- spack ci generate
|
- spack ci generate
|
||||||
--spack-repo ${SPACK_REPO} --spack-ref ${SPACK_REF}
|
--spack-repo ${SPACK_REPO} --spack-ref ${SPACK_REF}
|
||||||
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
|
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
|
||||||
|
@ -612,7 +612,10 @@ def generate_gitlab_ci_yaml(env, print_summary, output_file,
|
|||||||
if 'enable-debug-messages' in gitlab_ci:
|
if 'enable-debug-messages' in gitlab_ci:
|
||||||
debug_flag = '-d '
|
debug_flag = '-d '
|
||||||
|
|
||||||
job_scripts = ['spack {0}ci rebuild'.format(debug_flag)]
|
job_scripts = [
|
||||||
|
'spack env activate .',
|
||||||
|
'spack {0}ci rebuild'.format(debug_flag),
|
||||||
|
]
|
||||||
|
|
||||||
compiler_action = 'NONE'
|
compiler_action = 'NONE'
|
||||||
if len(phases) > 1:
|
if len(phases) > 1:
|
||||||
|
@ -247,18 +247,13 @@ def find_environment(args):
|
|||||||
# at env_dir (env and env_dir are mutually exclusive)
|
# at env_dir (env and env_dir are mutually exclusive)
|
||||||
env = getattr(args, 'env_dir', None)
|
env = getattr(args, 'env_dir', None)
|
||||||
|
|
||||||
# if no argument, look for a manifest file
|
# if no argument, look for the environment variable
|
||||||
if not env:
|
if not env:
|
||||||
if os.path.exists(manifest_name):
|
env = os.environ.get(spack_env_var)
|
||||||
env = os.getcwd()
|
|
||||||
|
|
||||||
# if no env, env_dir, or manifest try the environment
|
# nothing was set; there's no active environment
|
||||||
if not env:
|
if not env:
|
||||||
env = os.environ.get(spack_env_var)
|
return None
|
||||||
|
|
||||||
# nothing was set; there's no active environment
|
|
||||||
if not env:
|
|
||||||
return None
|
|
||||||
|
|
||||||
# if we get here, env isn't the name of a spack environment; it has
|
# if we get here, env isn't the name of a spack environment; it has
|
||||||
# to be a path to an environment, or there is something wrong.
|
# to be a path to an environment, or there is something wrong.
|
||||||
|
Loading…
Reference in New Issue
Block a user