mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 13:23:51 +00:00
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.
118 lines
3.6 KiB
YAML
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
|