vtk-m/.gitlab/ci/crusher.yml
Kenneth Moreland 898115a410 Add copyright notice to scipts and configuration files
There are numerous scripts and configuration files defined in the CI setup
and elsewhere that were missing the copyright statement. Add more types
of files to check in the CopyrightStatement test, and update the files
with the appropriate statement.
2023-07-25 11:05:40 -06:00

118 lines
3.6 KiB
YAML

##=============================================================================
##
## Copyright (c) Kitware, Inc.
## All rights reserved.
## See LICENSE.txt for details.
##
## This software is distributed WITHOUT ANY WARRANTY; without even
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
## PURPOSE. See the above copyright notice for more information.
##
##=============================================================================
# Ad-hoc build that runs in the ECP Hardware, concretely in OLCF Spock.
.crusher_gcc_hip:
variables:
CCACHE_BASEDIR: "/lustre/orion/csc331/scratch/"
CCACHE_DIR: "/lustre/orion/csc331/scratch/vbolea/ci/vtk-m/ccache"
CUSTOM_CI_BUILDS_DIR: "/lustre/orion/csc331/scratch/vbolea/ci/vtk-m/runtime"
# -isystem= is not affected by CCACHE_BASEDIR, thus we must ignore it
CCACHE_IGNOREOPTIONS: "-isystem=*"
CCACHE_NOHASHDIR: "true"
CCACHE_INSTALL_DIR: "$CI_PROJECT_DIR/build"
CMAKE_BUILD_TYPE: "RelWithDebInfo"
CMAKE_GENERATOR: "Ninja"
CMAKE_PREFIX_PATH: "$CI_BUILDS_DIR/kokkos_install"
# We do not want to use the user's ~/.gitconfig
GIT_CONFIG_GLOBAL: "true"
KOKKOS_OPTS: >-
-DCMAKE_INSTALL_PREFIX:PATH=$CI_BUILDS_DIR/kokkos_install
-DCMAKE_CXX_COMPILER:FILEPATH=/opt/rocm-5.4.3/hip/bin/hipcc
-DKokkos_ARCH_VEGA90A:BOOL=ON
# The user default module list should not exist
# craype;rocm;gcc should be loaded first
JOB_MODULES: >-
craype-accel-amd-gfx90a
gcc/12
cmake
rocm/5.4.3
git
git-lfs
ninja
zstd
VTKM_SETTINGS: kokkos+hip+gfx90a+crusher+ccache+no_rendering
interruptible: true
.setup_env_ecpci: &setup_env_ecpci |
module purge
module load ${JOB_MODULES}
module list
export PATH="${CCACHE_INSTALL_DIR}/ccache:$PATH"
build:crusher_gcc_hip:
stage: build
tags: [crusher, shell]
extends:
- .crusher_gcc_hip
- .run_crusher_ci
before_script:
- *setup_env_ecpci
- mkdir -p "$CCACHE_INSTALL_DIR"
- cmake --version
- cmake -VV -P .gitlab/ci/config/ccache.cmake
- ccache -z
- ccache -s
- .gitlab/ci/config/kokkos.sh "$CI_BUILDS_DIR" "3.7.01" $KOKKOS_OPTS
- git remote add lfs https://gitlab.kitware.com/vtk/vtk-m.git
- git fetch lfs
- git-lfs install
- git-lfs pull lfs
script:
- cmake -V -P .gitlab/ci/config/gitlab_ci_setup.cmake
- ctest -VV -S .gitlab/ci/ctest_configure.cmake
artifacts:
expire_in: 24 hours
when: always
paths:
- build/
- .gitlab/ccache/ccache
test:crusher_gcc_hip:
stage: test
tags: [crusher, slurm]
extends:
- .crusher_gcc_hip
- .run_crusher_ci
needs:
- build:crusher_gcc_hip
dependencies:
- build:crusher_gcc_hip
variables:
SCHEDULER_PARAMETERS: "-ACSC331_crusher -pbatch -t120 --nice=0 -c32 --gpus=4 -N 1"
# We need this to skip ctest_submit from being run inside a jsrun job
GITLAB_CI_EMULATION: 1
# Tests errors to address due to different env in Spock
# Refer to issue: https://gitlab.kitware.com/vtk/vtk-m/-/issues/743
CTEST_EXCLUSIONS: >-
UnitTestMIRFilter
UnitTestDistributedBranchDecompositionFilter
UnitTestWorkletParticleAdvection
UnitTestLagrangianFilter
before_script:
- *setup_env_ecpci
script:
- CTEST_MAX_PARALLELISM=32 ctest -VV -S .gitlab/ci/ctest_build.cmake
- CTEST_MAX_PARALLELISM=4 ctest -VV -S .gitlab/ci/ctest_test.cmake
after_script:
- *setup_env_ecpci
- ccache -s
- ctest -VV -S .gitlab/ci/ctest_submit_build.cmake
- ctest -VV -S .gitlab/ci/ctest_submit_test.cmake
timeout: 150 minutes