forked from NOAA-GFDL/MOM6-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
50 lines (49 loc) · 2.53 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
parameter_files:
tags:
- ncrc3
- ncrc4
script:
# Install / update testing scripts
- git clone https://github.com/adcroft/MRS.git build_MRS
- (cd build_MRS ; git checkout xanadu-fms)
# Recursively clone submodules
- git submodule sync --recursive && git submodule update --init --recursive
# Clone other components
- test -d src/LM3 || make -f build_MRS/Makefile.clone CONFIGS=. clone_gfdl -s
# Create manifest of experiments to run
- git clone http://gitlab.gfdl.noaa.gov/ogrp/Gaea-stats-MOM6-examples.git tests && mv tests/regressions . && rm -rf tests
- bash build_MRS/generate_manifest.sh . > manifest.mk && rm -rf regressions
# Build executables
- time make -f build_MRS/Makefile.build build_gnu CONFIGS=. -s -j
# Run standard tests
- (echo '#!/bin/tcsh';echo 'make -f build_MRS/Makefile.run gnu_all MEMORY=dynamic_symmetric CONFIGS=. -s -j') > job.sh
- sbatch --clusters=c3,c4 --nodes=25 --time=0:08:00 --account=gfdl_o --qos=debug --job-name=mom6_examples_tests --output=log.$CI_PIPELINE_ID --wait job.sh
# Check status of doc files
- git status
- git diff --exit-code
coverage:
tags:
- ncrc3
- ncrc4
script:
# Install / update testing scripts
- git clone https://github.com/adcroft/MRS.git build_MRS
- (cd build_MRS ; git checkout xanadu-fms)
# Recursively clone submodules
- git submodule sync --recursive && git submodule update --init --recursive
# Clone other components
- test -d src/LM3 || make -f build_MRS/Makefile.clone CONFIGS=. clone_gfdl -s
# Create manifest of experiments to run
- git clone http://gitlab.gfdl.noaa.gov/ogrp/Gaea-stats-MOM6-examples.git tests && mv tests/regressions . && rm -rf tests
- bash build_MRS/generate_manifest.sh . > manifest.mk && rm -rf regressions
# Build executables
- time make -f build_MRS/Makefile.build coverage_gnu CONFIGS=. EXTRA_MAKE_ARGS="FFLAGS_COVERAGE=--coverage LDFLAGS_COVERAGE=--coverage" -s -j
# Run standard tests
- (echo '#!/bin/tcsh';echo 'time make -f build_MRS/Makefile.coverage gnu_ocean_only gnu_ice_ocean_SIS2 MEMORY=dynamic_symmetric CONFIGS=.') > job.sh
- sbatch --clusters=c3,c4 --nodes=15 --time=0:37:00 --account=gfdl_o --qos=debug --job-name=mom6_coverage --output=log.$CI_PIPELINE_ID --wait job.sh
# Process lcov files
- make -f build_MRS/Makefile.coverage CONFIGS=. coverage
# Post to codecov
- cd src/MOM6 ; curl -s https://codecov.io/bash > codecov.sh
- GITLAB_CI=""
- PWD=`pwd` bash codecov.sh -t $CODECOV_TOKEN -X gcov