gitlab ci: install binary deps faster (#33248)
* Fast Gitlab CI job setup, and better legibility * Use a non-broken, recent GNU Make
This commit is contained in:
parent
d039744a5b
commit
a2520e80c0
@ -17,7 +17,7 @@
|
|||||||
import time
|
import time
|
||||||
import zipfile
|
import zipfile
|
||||||
|
|
||||||
from six import iteritems
|
from six import iteritems, string_types
|
||||||
from six.moves.urllib.error import HTTPError, URLError
|
from six.moves.urllib.error import HTTPError, URLError
|
||||||
from six.moves.urllib.parse import urlencode
|
from six.moves.urllib.parse import urlencode
|
||||||
from six.moves.urllib.request import HTTPHandler, Request, build_opener
|
from six.moves.urllib.request import HTTPHandler, Request, build_opener
|
||||||
@ -1936,26 +1936,35 @@ def reproduce_ci_job(url, work_dir):
|
|||||||
print("".join(inst_list))
|
print("".join(inst_list))
|
||||||
|
|
||||||
|
|
||||||
def process_command(cmd, cmd_args, repro_dir):
|
def process_command(name, commands, repro_dir):
|
||||||
"""
|
"""
|
||||||
Create a script for and run the command. Copy the script to the
|
Create a script for and run the command. Copy the script to the
|
||||||
reproducibility directory.
|
reproducibility directory.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
cmd (str): name of the command being processed
|
name (str): name of the command being processed
|
||||||
cmd_args (list): string arguments to pass to the command
|
commands (list): list of arguments for single command or list of lists of
|
||||||
|
arguments for multiple commands. No shell escape is performed.
|
||||||
repro_dir (str): Job reproducibility directory
|
repro_dir (str): Job reproducibility directory
|
||||||
|
|
||||||
Returns: the exit code from processing the command
|
Returns: the exit code from processing the command
|
||||||
"""
|
"""
|
||||||
tty.debug("spack {0} arguments: {1}".format(cmd, cmd_args))
|
tty.debug("spack {0} arguments: {1}".format(name, commands))
|
||||||
|
|
||||||
|
if len(commands) == 0 or isinstance(commands[0], string_types):
|
||||||
|
commands = [commands]
|
||||||
|
|
||||||
|
# Create a string [command 1] && [command 2] && ... && [command n] with commands
|
||||||
|
# quoted using double quotes.
|
||||||
|
args_to_string = lambda args: " ".join('"{}"'.format(arg) for arg in args)
|
||||||
|
full_command = " && ".join(map(args_to_string, commands))
|
||||||
|
|
||||||
# Write the command to a shell script
|
# Write the command to a shell script
|
||||||
script = "{0}.sh".format(cmd)
|
script = "{0}.sh".format(name)
|
||||||
with open(script, "w") as fd:
|
with open(script, "w") as fd:
|
||||||
fd.write("#!/bin/bash\n\n")
|
fd.write("#!/bin/sh\n\n")
|
||||||
fd.write("\n# spack {0} command\n".format(cmd))
|
fd.write("\n# spack {0} command\n".format(name))
|
||||||
fd.write(" ".join(['"{0}"'.format(i) for i in cmd_args]))
|
fd.write(full_command)
|
||||||
fd.write("\n")
|
fd.write("\n")
|
||||||
|
|
||||||
st = os.stat(script)
|
st = os.stat(script)
|
||||||
@ -1967,15 +1976,15 @@ def process_command(cmd, cmd_args, repro_dir):
|
|||||||
# Run the generated install.sh shell script as if it were being run in
|
# Run the generated install.sh shell script as if it were being run in
|
||||||
# a login shell.
|
# a login shell.
|
||||||
try:
|
try:
|
||||||
cmd_process = subprocess.Popen(["bash", "./{0}".format(script)])
|
cmd_process = subprocess.Popen(["/bin/sh", "./{0}".format(script)])
|
||||||
cmd_process.wait()
|
cmd_process.wait()
|
||||||
exit_code = cmd_process.returncode
|
exit_code = cmd_process.returncode
|
||||||
except (ValueError, subprocess.CalledProcessError, OSError) as err:
|
except (ValueError, subprocess.CalledProcessError, OSError) as err:
|
||||||
tty.error("Encountered error running {0} script".format(cmd))
|
tty.error("Encountered error running {0} script".format(name))
|
||||||
tty.error(err)
|
tty.error(err)
|
||||||
exit_code = 1
|
exit_code = 1
|
||||||
|
|
||||||
tty.debug("spack {0} exited {1}".format(cmd, exit_code))
|
tty.debug("spack {0} exited {1}".format(name, exit_code))
|
||||||
return exit_code
|
return exit_code
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +25,8 @@
|
|||||||
section = "build"
|
section = "build"
|
||||||
level = "long"
|
level = "long"
|
||||||
|
|
||||||
CI_REBUILD_INSTALL_BASE_ARGS = ["spack", "--color=always", "--backtrace", "--verbose"]
|
SPACK_COMMAND = "spack"
|
||||||
|
MAKE_COMMAND = "make"
|
||||||
INSTALL_FAIL_CODE = 1
|
INSTALL_FAIL_CODE = 1
|
||||||
|
|
||||||
|
|
||||||
@ -509,41 +510,88 @@ def ci_rebuild(args):
|
|||||||
# No hash match anywhere means we need to rebuild spec
|
# No hash match anywhere means we need to rebuild spec
|
||||||
|
|
||||||
# Start with spack arguments
|
# Start with spack arguments
|
||||||
install_args = [base_arg for base_arg in CI_REBUILD_INSTALL_BASE_ARGS]
|
spack_cmd = [SPACK_COMMAND, "--color=always", "--backtrace", "--verbose"]
|
||||||
|
|
||||||
config = cfg.get("config")
|
config = cfg.get("config")
|
||||||
if not config["verify_ssl"]:
|
if not config["verify_ssl"]:
|
||||||
install_args.append("-k")
|
spack_cmd.append("-k")
|
||||||
|
|
||||||
install_args.extend(
|
install_args = []
|
||||||
[
|
|
||||||
"install",
|
|
||||||
"--keep-stage",
|
|
||||||
"--use-buildcache",
|
|
||||||
"dependencies:only,package:never",
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
can_verify = spack_ci.can_verify_binaries()
|
can_verify = spack_ci.can_verify_binaries()
|
||||||
verify_binaries = can_verify and spack_is_pr_pipeline is False
|
verify_binaries = can_verify and spack_is_pr_pipeline is False
|
||||||
if not verify_binaries:
|
if not verify_binaries:
|
||||||
install_args.append("--no-check-signature")
|
install_args.append("--no-check-signature")
|
||||||
|
|
||||||
|
cdash_args = []
|
||||||
if cdash_handler:
|
if cdash_handler:
|
||||||
# Add additional arguments to `spack install` for CDash reporting.
|
# Add additional arguments to `spack install` for CDash reporting.
|
||||||
install_args.extend(cdash_handler.args())
|
cdash_args.extend(cdash_handler.args())
|
||||||
|
|
||||||
# A compiler action of 'FIND_ANY' means we are building a bootstrap
|
slash_hash = "/{}".format(job_spec.dag_hash())
|
||||||
# compiler or one of its deps.
|
deps_install_args = install_args
|
||||||
# TODO: when compilers are dependencies, we should include --no-add
|
root_install_args = install_args + [
|
||||||
if compiler_action != "FIND_ANY":
|
"--no-add",
|
||||||
install_args.append("--no-add")
|
"--keep-stage",
|
||||||
|
"--only=package",
|
||||||
|
"--use-buildcache=package:never,dependencies:only",
|
||||||
|
slash_hash,
|
||||||
|
]
|
||||||
|
|
||||||
# Identify spec to install by hash
|
# ["x", "y"] -> "'x' 'y'"
|
||||||
install_args.append("/{0}".format(job_spec.dag_hash()))
|
args_to_string = lambda args: " ".join("'{}'".format(arg) for arg in args)
|
||||||
|
|
||||||
|
commands = [
|
||||||
|
# apparently there's a race when spack bootstraps? do it up front once
|
||||||
|
[
|
||||||
|
SPACK_COMMAND,
|
||||||
|
"-e",
|
||||||
|
env.path,
|
||||||
|
"bootstrap",
|
||||||
|
"now",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
SPACK_COMMAND,
|
||||||
|
"-e",
|
||||||
|
env.path,
|
||||||
|
"config",
|
||||||
|
"add",
|
||||||
|
"config:db_lock_timeout:120", # 2 minutes for processes to fight for a db lock
|
||||||
|
],
|
||||||
|
[
|
||||||
|
SPACK_COMMAND,
|
||||||
|
"-e",
|
||||||
|
env.path,
|
||||||
|
"env",
|
||||||
|
"depfile",
|
||||||
|
"-o",
|
||||||
|
"Makefile",
|
||||||
|
"--use-buildcache=package:never,dependencies:only",
|
||||||
|
"--make-target-prefix",
|
||||||
|
"ci",
|
||||||
|
slash_hash, # limit to spec we're building
|
||||||
|
],
|
||||||
|
[
|
||||||
|
# --output-sync requires GNU make 4.x.
|
||||||
|
# Old make errors when you pass it a flag it doesn't recognize,
|
||||||
|
# but it doesn't error or warn when you set unrecognized flags in
|
||||||
|
# this variable.
|
||||||
|
"export",
|
||||||
|
"GNUMAKEFLAGS=--output-sync=recurse",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
MAKE_COMMAND,
|
||||||
|
"SPACK={}".format(args_to_string(spack_cmd)),
|
||||||
|
"SPACK_COLOR=always",
|
||||||
|
"SPACK_INSTALL_FLAGS={}".format(args_to_string(deps_install_args)),
|
||||||
|
"-j$(nproc)",
|
||||||
|
"ci/.install-deps/{}".format(job_spec.dag_hash()),
|
||||||
|
],
|
||||||
|
spack_cmd + ["install"] + root_install_args,
|
||||||
|
]
|
||||||
|
|
||||||
tty.debug("Installing {0} from source".format(job_spec.name))
|
tty.debug("Installing {0} from source".format(job_spec.name))
|
||||||
install_exit_code = spack_ci.process_command("install", install_args, repro_dir)
|
install_exit_code = spack_ci.process_command("install", commands, repro_dir)
|
||||||
|
|
||||||
# Now do the post-install tasks
|
# Now do the post-install tasks
|
||||||
tty.debug("spack install exited {0}".format(install_exit_code))
|
tty.debug("spack install exited {0}".format(install_exit_code))
|
||||||
|
@ -916,11 +916,8 @@ def test_ci_rebuild_mock_success(
|
|||||||
pkg_name = "archive-files"
|
pkg_name = "archive-files"
|
||||||
rebuild_env = create_rebuild_env(tmpdir, pkg_name, broken_tests)
|
rebuild_env = create_rebuild_env(tmpdir, pkg_name, broken_tests)
|
||||||
|
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(spack.cmd.ci, "SPACK_COMMAND", "echo")
|
||||||
spack.cmd.ci,
|
monkeypatch.setattr(spack.cmd.ci, "MAKE_COMMAND", "echo")
|
||||||
"CI_REBUILD_INSTALL_BASE_ARGS",
|
|
||||||
["echo"],
|
|
||||||
)
|
|
||||||
|
|
||||||
with rebuild_env.env_dir.as_cwd():
|
with rebuild_env.env_dir.as_cwd():
|
||||||
activate_rebuild_env(tmpdir, pkg_name, rebuild_env)
|
activate_rebuild_env(tmpdir, pkg_name, rebuild_env)
|
||||||
@ -965,7 +962,8 @@ def test_ci_rebuild(
|
|||||||
|
|
||||||
ci_cmd("rebuild", "--tests", fail_on_error=False)
|
ci_cmd("rebuild", "--tests", fail_on_error=False)
|
||||||
|
|
||||||
monkeypatch.setattr(spack.cmd.ci, "CI_REBUILD_INSTALL_BASE_ARGS", ["notcommand"])
|
monkeypatch.setattr(spack.cmd.ci, "SPACK_COMMAND", "notcommand")
|
||||||
|
monkeypatch.setattr(spack.cmd.ci, "MAKE_COMMAND", "notcommand")
|
||||||
monkeypatch.setattr(spack.cmd.ci, "INSTALL_FAIL_CODE", 127)
|
monkeypatch.setattr(spack.cmd.ci, "INSTALL_FAIL_CODE", 127)
|
||||||
|
|
||||||
with rebuild_env.env_dir.as_cwd():
|
with rebuild_env.env_dir.as_cwd():
|
||||||
|
@ -241,6 +241,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.aarch64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'deb1dcae0eecdc7fce2902f294012ab5519629e6827204f1b9964dcfd3f74627 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -240,6 +240,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -148,6 +148,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.aarch64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'deb1dcae0eecdc7fce2902f294012ab5519629e6827204f1b9964dcfd3f74627 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -159,6 +159,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -32,6 +32,9 @@ spack:
|
|||||||
|
|
||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -47,6 +47,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] }
|
image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] }
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -214,6 +214,7 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.powerpc64le-linux-gnu.tar.gz | tar -xzf - -C /usr 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -266,6 +266,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -253,6 +253,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -87,6 +87,9 @@ spack:
|
|||||||
|
|
||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -90,6 +90,9 @@ spack:
|
|||||||
|
|
||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -93,6 +93,9 @@ spack:
|
|||||||
|
|
||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -56,6 +56,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.aarch64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'deb1dcae0eecdc7fce2902f294012ab5519629e6827204f1b9964dcfd3f74627 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -61,6 +61,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -64,6 +64,9 @@ spack:
|
|||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] }
|
image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] }
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- cd ${SPACK_CONCRETE_ENV_DIR}
|
- cd ${SPACK_CONCRETE_ENV_DIR}
|
||||||
|
@ -63,6 +63,9 @@ spack:
|
|||||||
|
|
||||||
gitlab-ci:
|
gitlab-ci:
|
||||||
script:
|
script:
|
||||||
|
- curl -Lfs https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0%2B0/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz -o gmake.tar.gz
|
||||||
|
- printf 'b019c4aa757503d442c906047f6b1c393bf8eeba71260d455537cfc708862249 gmake.tar.gz' | sha256sum --check --strict --quiet
|
||||||
|
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
|
||||||
- . "./share/spack/setup-env.sh"
|
- . "./share/spack/setup-env.sh"
|
||||||
- spack --version
|
- spack --version
|
||||||
- spack compiler find
|
- spack compiler find
|
||||||
|
Loading…
Reference in New Issue
Block a user