forked from NOAA-GFDL/MOM6-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
48 lines (47 loc) · 2.4 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
parameter_files:
tags:
- ncrc3
- ncrc4
script:
# Install / update testing scripts
- git clone https://github.com/adcroft/MRS.git build_MRS
# 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 mannifest 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 "make -f build_MRS/Makefile.run gnu_all MEMORY=dynamic_symmetric CONFIGS=. -s -j" > job.sh
- msub -l partition=c3:c4,nodes=25,walltime=00:08:00,qos=norm -q debug -S /bin/tcsh -j oe -A gfdl_o -z -o log.$CI_PIPELINE_ID -N mom6_examples_test -K 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
# 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 mannifest 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 "time make -f build_MRS/Makefile.coverage gnu_ocean_only gnu_ice_ocean_SIS2 MEMORY=dynamic_symmetric CONFIGS=." > job.sh
- msub -l partition=c3:c4,nodes=15,walltime=00:37:00,qos=norm -q debug -S /bin/tcsh -j oe -A gfdl_o -z -o log.$CI_PIPELINE_ID -N mom6_coverage -K 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