Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Attempt to enable gitlab CI. #1067

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions .cmake-format.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@

"add_component_library": {
"pargs": 1,
"flags": ["NOEXPORT"],
"kwargs": {"TARGET": '*', "LIBRARY_NAME": '*', "SOURCES": '*', "HEADERS": '*',
"INCLUDE_DIRS": '*', "TARGET_DEPS": '*', "LINK_LANGUAGE": '*',
"LIBRARY_TYPE": '*'}},
"flags": ["NOEXPORT", "${COMPILE_WITH_CUDA}"],
"kwargs": {"EXPORT_NAME": '*', "HEADERS": '*', "INCLUDE_DIRS": '*', "LIBRARY_NAME": '*',
"LIBRARY_NAME_PREFIX": '*', "LIBRARY_TYPE": '*', "LINK_LANGUAGE": '*',
"SOURCES": '*', "TARGET": '*', "TARGET_DEPS": '*'}},

"add_component_executable": {
"kwargs": {"TARGET": '*', "LIBRARY_NAME": '*', "SOURCES": '*', "HEADERS": '*',
Expand All @@ -25,8 +25,9 @@

"add_parallel_tests": {
"flags": ["MPI_PLUS_OMP"],
"kwargs": {"SOURCES": '*', "DEPS": '*', "TEST_ARGS": '*', "PASS_REGEX": '*',
"FAIL_REGEX": '*', "LABEL": '*', "PE_LIST": '*'}},
"kwargs": {"DEPS": '*', "FAIL_REGEX": '*', "LABEL": '*', "PASS_REGEX": '*', "PE_LIST":
'*', "RESOURCE_LOCK": '*', "RUN_AFTER": '*', "SOURCES": '*', "TEST_ARGS":
'*'}},

"add_app_unit_test": {
"kwargs": {"DRIVER": '*', "APPS": '*', "TEST_ARGS": '*', "LABELS": '*', "APP": '*',
Expand Down
27 changes: 27 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#--------------------------------------------------------------------------------------------------#
# File: .gitlab-ci.yml
# Author: Kelly Thompson <[email protected]>
# Date: Tuesday, Dec 04, 2018, 15:13 pm
# Purpose: Instructions for Travis continuous integration testing on GitLab. This script wil be run
# to test pull requests
# Note: Copyright (C) 2018-2021 Triad National Security, LLC. All rights reserved.
#--------------------------------------------------------------------------------------------------#

variables:
PROJECT: Draco

stages:
- fasttest
- test
- slowtest
- optional

include:
- local: /.gitlab/ci/ccscs-jobs.yml
# - local: /.gitlab/ci/darwin-jobs.yml
- local: /.gitlab/ci/superlinter.yml
# - local: /.gitlab/ci/msvc-jobs.yml

#--------------------------------------------------------------------------------------------------#
# End .gitlab-ci.yml
#--------------------------------------------------------------------------------------------------#
8 changes: 8 additions & 0 deletions .gitlab/ci/README.ci
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@

#stages:
#- prepare
#- style
#- autodoc
#- build
#- package
#- release
251 changes: 251 additions & 0 deletions .gitlab/ci/ccscs-jobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
#--------------------------------------------------------------------------------------------------#
# File: .gitlab/ci/ccscs-jobs.yml
# Author: Kelly Thompson <[email protected]>
# Date: Monday, Jun 01, 2020, 15:00 pm
# Purpose: gitlab suid runner commands for LANL ccs-net machines. This script will be run to test
# pull requests.
# Note: Copyright (C) 2020-2021 Triad National Security, LLC., All rights reserved.
#--------------------------------------------------------------------------------------------------#

#--------------------------------------------------------------------------------------------------#
# Machine-wide default job settings
#--------------------------------------------------------------------------------------------------#

.ccscs:
variables:
http_proxy: "http://proxyout.lanl.gov:8080"
https_proxy: "http://proxyout.lanl.gov:8080"
DRACO_SOURCE_DIR: ${CI_PROJECT_DIR}
DRACO_BINARY_DIR: ${CI_PROJECT_DIR}/build/j
DRACO_BINARY_DIR: ${CI_PROJECT_DIR}/build/d
DRACO_SOURCE_DIR: ${CI_PROJECT_DIR}/draco
DEPLOY: "FALSE"

#--------------------------------------------------------------------------------------------------#
# Build Templates
#--------------------------------------------------------------------------------------------------#

.ccscs_merge:
extends: .ccscs
variables:
CTEST_MODE: Experimental
script:
- /bin/bash -l -c ${CI_PROJECT_DIR}/.gitlab/ci/gitlab-ci-run-tests.sh
only:
- merge_requests

.ccscs_style_checks:
extends: .ccscs
variables:
CTEST_MODE: Experimental
script:
- /bin/bash -l -c ${CI_PROJECT_DIR}/.gitlab/ci/gitlab-ci-style-checks.sh
only:
- merge_requests

.ccscs_nightly:
extends: .ccscs
variables:
CTEST_MODE: Nightly
CTEST_BUILD_NAME: ${DRACO_ENV}-${CMAKE_BUILD_TYPE}
script:
- /bin/bash -l -c ${CI_PROJECT_DIR}/.gitlab/ci/gitlab-nightly-regress.sh
only:
- schedules

#--------------------------------------------------------------------------------------------------#
# Merge Requests
#--------------------------------------------------------------------------------------------------#

# FAST TEST

ccs1_style_cxx:
tags:
- ccscs1-setuid-shared
stage: fasttest
extends: .ccscs_style_checks
variables:
CMAKE_BUILD_TYPE: Release
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
SITE_ID: ccscs1

ccs3_deb_gcc_1020:
tags:
- ccscs3-setuid-shared
stage: fasttest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
CTEST_NPROC: 32
SITE_ID: ccscs3

ccs2_c4_scalar:
tags:
- ccscs2-setuid-shared
stage: fasttest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
EXTRA_CMAKE_ARGS: -DDRACO_C4=SCALAR
CTEST_NPROC: 56
SITE_ID: ccscs2

# ---------- regular TEST (only starts if all FASTTEST pass) ---------- #

ccs3_deb_llvm11:
tags:
- ccscs3-setuid-shared
stage: test
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: llvm11
ARCH: x86_64
CTEST_NPROC: 32
SITE_ID: ccscs3

ccs2_autodoc:
tags:
- ccscs2-setuid-shared
stage: test
extends: .ccscs_merge
allow_failure: true
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
AUTODOC: "ON"
SITE_ID: ccscs2


# ---------- SLOW TEST (only starts if all regular TEST pass) ---------- #

ccs3_rel_llvm11:
tags:
- ccscs3-setuid-shared
stage: slowtest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Release
DRACO_ENV: llvm11
ARCH: x86_64
CTEST_NPROC: 32
SITE_ID: ccscs3

ccs3_rel_gcc_1020:
tags:
- ccscs3-setuid-shared
stage: slowtest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Release
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
CTEST_NPROC: 32
SITE_ID: ccscs3

ccs3_fulldiag:
tags:
- ccscs3-setuid-shared
stage: slowtest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
# DRACO_TIMING=1 enables caliper timers.
# DRACO_DIAGNOSTICS=7 enables FPE traps.
EXTRA_CMAKE_ARGS: -DDRACO_DIAGNOSTICS=7 -DDRACO_TIMING=1 -DDRACO_LIBRARY_TYPE=STATIC
CTEST_NPROC: 32
SITE_ID: ccscs3

ccs2_gcov:
tags:
- ccscs2-setuid-shared
stage: slowtest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
# --> Overall coverage rate:
# --> lines......: 91.2% (34056 of 37338 lines)
# --> functions..: 56.7% (8676 of 15304 functions)
# ...
# --> Total:|91.2% 37338|56.7% 15k|
EXTRA_CMAKE_ARGS: -DCODE_COVERAGE=ON
CTEST_NPROC: 56
SITE_ID: ccscs2

ccs2_valgrind:
tags:
- ccscs2-setuid-shared
stage: slowtest
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
EXTRA_CMAKE_ARGS: -DENABLE_MEMORYCHECK=ON -DCTEST_MEMORYCHECK_SUPPRESSIONS_FILE=/scratch/regress/ccsradregress/valgrind_suppress.txt
EXTRA_CTEST_ARGS: -L memcheck -LE nomemcheck
CTEST_NPROC: 20
SITE_ID: ccscs2

# ---------- Optional ---------- #

ccs3_clangtidy:
tags:
- ccscs3-setuid-shared
# stage: optional
stage: fasttest
# allow_failure: true
extends: .ccscs_merge
variables:
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: llvm11
ARCH: x86_64
CTEST_NPROC: 32
EXTRA_CMAKE_ARGS: -DDRACO_STATIC_ANALYZER=clang-tidy
SITE_ID: ccscs3

#--------------------------------------------------------------------------------------------------#
# Nightly Regression
#--------------------------------------------------------------------------------------------------#

rel_gcc_10.2.0_regress:
tags:
- ccscs2-setuid-shared
extends: .ccscs_nightly
variables:
SITE_ID: ccscs2
CMAKE_BUILD_TYPE: Release
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
# EXTRA_CMAKE_ARGS: -DDRACO_DIAGNOSTICS=7 -DDRACO_TIMING=1 -DDRACO_LIBRARY_TYPE=STATIC
BUILD_FLAGS: -j 20
CTEST_NPROC: 32
# TEST_EXCLUSIONS: tracking_tstU3

deb_gcc_10.2.0_regress:
tags:
- ccscs2-setuid-shared
extends: .ccscs_nightly
variables:
SITE_ID: ccscs2
CMAKE_BUILD_TYPE: Debug
DRACO_ENV: gcc1020-ompi4
ARCH: x86_64
# EXTRA_CMAKE_ARGS: -DDRACO_DIAGNOSTICS=7 -DDRACO_TIMING=1 -DDRACO_LIBRARY_TYPE=STATIC
BUILD_FLAGS: -j 20
CTEST_NPROC: 32
# TEST_EXCLUSIONS: tracking_tstU3
AUTODOCDIR: /ccs/codes/radtran/autodoc

#--------------------------------------------------------------------------------------------------#
# end .gitlab/ci/ccscs-jobs.yml
#--------------------------------------------------------------------------------------------------#
Loading