diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0bdef49bfa1c10e5f2aab8e6dfab6fc9f5cda791..1159da39de09e46941691a0246dc049af95513bb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,6 +51,7 @@ variables: stages: - config - base ## base OS image + - generate ## spack ci generate - jug ## jug container images - deploy ## build/deploy singularity images - test @@ -212,6 +213,28 @@ base: containers/debian - !reference [.build, script] +generate-pipeline: + stage: generate + tags: + - docker-new + image: + name: eicweb.phy.anl.gov:4567/containers/eic_container/debian_testing_base + entrypoint: [""] + before_script: + - git clone ${SPACK_REPO} spack + - git -C spack checkout ${SPACK_VERSION} + - . "./spack/share/spack/setup-env.sh" + - git clone ${EICSPACK_REPO} ${SPACK_ROOT}/var/spack/repos/eic-spack + - git -C ${SPACK_ROOT}/var/spack/repos/eic-spack checkout ${EICSPACK_VERSION} + script: + - spack env activate --without-view . + - spack -d ci generate + --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" + --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml" + artifacts: + paths: + - "${CI_PROJECT_DIR}/jobs_scratch_dir" + jug_dev:default: parallel: matrix: diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index e399852d7046b0c7aaafd6266b2b736f25aa0893..d8711c341971ae43d8febd09f1d550db751d41c9 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -34,8 +34,6 @@ RUN echo "Part 1: regular spack install (as in containerize)" \ && if [ -n "$SPACK_CHERRYPICKS" ] ; then \ git -C ${SPACK_ROOT} cherry-pick -n $SPACK_CHERRYPICKS ; \ fi \ - && echo 'export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH'\ - >> $SPACK_ROOT/share/setup-env.sh \ && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ /usr/sbin/docker-shell \ && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ @@ -43,18 +41,13 @@ RUN echo "Part 1: regular spack install (as in containerize)" \ && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ /usr/sbin/spack-env \ && echo "Part 2: Set target to generic x86_64" \ - && echo "packages:" > $SPACK_ROOT/etc/spack/packages.yaml \ - && echo " all:" >> $SPACK_ROOT/etc/spack/packages.yaml \ - && echo " target: [x86_64]" >> $SPACK_ROOT/etc/spack/packages.yaml \ + && spack config --scope site add "packages:all:target:[x86_64]" \ && cat $SPACK_ROOT/etc/spack/packages.yaml \ && echo "Part 3: Set config to allow use of more cores for builds" \ && echo "(and some other settings)" \ - && echo "config:" > $SPACK_ROOT/etc/spack/config.yaml \ - && echo " suppress_gpg_warnings: true" \ - >> $SPACK_ROOT/etc/spack/config.yaml \ - && echo " build_jobs: 64" >> $SPACK_ROOT/etc/spack/config.yaml \ - && echo " install_tree:" >> $SPACK_ROOT/etc/spack/config.yaml \ - && echo " root: /opt/software" >> $SPACK_ROOT/etc/spack/config.yaml \ + && spack config --scope site add "config:suppress_gpg_warnings:true" \ + && spack config --scope site add "config:build_jobs:64" \ + && spack config --scope site add "config:install_tree:root:/opt/software" \ && cat $SPACK_ROOT/etc/spack/config.yaml SHELL ["docker-shell"] diff --git a/spack.yaml b/spack.yaml index 58a33976896c7eac4be57476690a3655d29220ef..9fac6926896901e1630ee44af40db3cfffab06e2 100644 --- a/spack.yaml +++ b/spack.yaml @@ -1,4 +1,7 @@ spack: + repos: + - $spack/var/spack/repos/eic-spack + specs: - acts@19.10.0 +dd4hep +identification +json +tgeo +ipo +examples +fatras +geant4 +python - actsvg@0.4.26 +examples @@ -48,11 +51,30 @@ spack: - stow@2.3.1 - tensorflow-lite@2.8.0 -xnnpack - xrootd@5.3.2 cxxstd=17 +python + concretizer: unify: true + packages: all: compiler: [gcc] + target: [x86_64] variants: build_type=Release + view: /usr/local + + mirrors: { "eic-spack": "s3://eictest/EPIC/spack" } + + gitlab-ci: + before_script: + - git clone ${SPACK_REPO} spack + - git -C spack checkout ${SPACK_VERSION} + - . "./spack/share/spack/setup-env.sh" + - git clone ${EICSPACK_REPO} ${SPACK_ROOT}/var/spack/repos/eic-spack + - git -C ${SPACK_ROOT}/var/spack/repos/eic-spack checkout ${EICSPACK_VERSION} + script: + - pushd ${SPACK_CONCRETE_ENV_DIR} && spack env activate --without-view . && popd + - spack -d ci rebuild + enable-artifacts-buildcache: False + rebuild-index: True