Skip to content

Commit aacb909

Browse files
authored
Merge pull request mom-ocean#1631 from NOAA-GFDL/gfdl-to-main-2024-05-31
GFDL to main (2024-05-31)
2 parents 83fb3f0 + ee686c8 commit aacb909

File tree

154 files changed

+13673
-8872
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+13673
-8872
lines changed

.github/actions/testing-setup/action.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ runs:
2828
run: |
2929
echo "::group::Compile FMS library"
3030
cd .testing
31-
REPORT_ERROR_LOGS=true make deps/lib/libFMS.a -s -j
31+
REPORT_ERROR_LOGS=true make build/deps/lib/libFMS.a -s -j
3232
echo "::endgroup::"
3333
3434
- name: Compile MOM6 in symmetric memory mode

.github/workflows/coverage.yml

+2-16
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,7 @@ jobs:
3131
- name: Run (single processor) unit tests
3232
run: make run.unit
3333

34-
- name: Report unit test coverage to CI (PR)
35-
if: github.event_name == 'pull_request'
36-
run: make report.cov.unit REQUIRE_COVERAGE_UPLOAD=true
37-
env:
38-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
39-
40-
- name: Report unit test coverage to CI (Push)
41-
if: github.event_name != 'pull_request'
34+
- name: Report unit test coverage to CI
4235
run: make report.cov.unit
4336
env:
4437
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -49,14 +42,7 @@ jobs:
4942
- name: Run coverage tests
5043
run: make -j -k run.cov
5144

52-
- name: Report coverage to CI (PR)
53-
if: github.event_name == 'pull_request'
54-
run: make report.cov REQUIRE_COVERAGE_UPLOAD=true
55-
env:
56-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
57-
58-
- name: Report coverage to CI (Push)
59-
if: github.event_name != 'pull_request'
45+
- name: Report coverage to CI
6046
run: make report.cov
6147
env:
6248
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/macos-regression.yml

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ jobs:
1010
env:
1111
CC: gcc
1212
FC: gfortran
13+
FMS_COMMIT: 2019.01.03
1314

1415
defaults:
1516
run:

.github/workflows/macos-stencil.yml

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ jobs:
1010
env:
1111
CC: gcc
1212
FC: gfortran
13+
FMS_COMMIT: 2019.01.03
1314

1415
defaults:
1516
run:

.github/workflows/perfmon.yml

+22
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,36 @@ jobs:
4040
sudo sysctl -w kernel.perf_event_paranoid=2
4141
make perf DO_REGRESSION_TESTS=true
4242
43+
# This job assumes that build/target_codebase was cloned above
44+
- name: Compile timing tests for reference code
45+
if: ${{ github.event_name == 'pull_request' }}
46+
run: >-
47+
make -j build.timing_target
48+
MOM_TARGET_SLUG=$GITHUB_REPOSITORY
49+
MOM_TARGET_LOCAL_BRANCH=$GITHUB_BASE_REF
50+
DO_REGRESSION_TESTS=true
51+
4352
- name: Compile timing tests
4453
run: |
4554
make -j build.timing
4655
56+
# DO_REGERESSION_TESTS=true is needed here to set the internal macro TARGET_CODEBASE
57+
- name: Run timing tests for reference code
58+
if: ${{ github.event_name == 'pull_request' }}
59+
run: >-
60+
make -j run.timing_target
61+
DO_REGRESSION_TESTS=true
62+
4763
- name: Run timing tests
4864
run: |
4965
make -j run.timing
5066
5167
- name: Display timing results
5268
run: |
5369
make -j show.timing
70+
71+
- name: Display comparison of timing results
72+
if: ${{ github.event_name == 'pull_request' }}
73+
run: >-
74+
make -j compare.timing
75+
DO_REGRESSION_TESTS=true

.gitlab-ci.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ stages:
99
# that is unique to this pipeline.
1010
# We use the "fetch" strategy to speed up the startup of stages
1111
variables:
12-
JOB_DIR: "/lustre/f2/scratch/oar.gfdl.ogrp-account/runner/builds/$CI_PIPELINE_ID"
12+
JOB_DIR: "/gpfs/f5/gfdl_o/scratch/oar.gfdl.ogrp-account/runner/builds/$CI_PIPELINE_ID"
1313
GIT_STRATEGY: fetch
1414

1515
# Always eport value of $JOB_DIR
@@ -32,6 +32,8 @@ p:clone:
3232
tags:
3333
- ncrc5
3434
script:
35+
# NOTE: We could sweep any builds older than 3 days here if needed
36+
#- find $HOME/ci/[0-9]* -mtime +3 -delete 2> /dev/null || true
3537
- .gitlab/pipeline-ci-tool.sh create-job-dir
3638
#.gitlab/pipeline-ci-tool.sh clean-job-dir
3739

@@ -353,4 +355,5 @@ cleanup:
353355
before_script:
354356
- echo Skipping usual preamble
355357
script:
358+
- rm -rf $HOME/ci/$CI_PIPELINE_ID
356359
- rm -rf $JOB_DIR

.gitlab/pipeline-ci-tool.sh

+7
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ create-job-dir () {
9494
make -f tools/MRS/Makefile.clone clone_gfdl -j # Extras and link to datasets
9595
bash tools/MRS/generate_manifest.sh . tools/MRS/excluded-expts.txt > manifest.mk
9696
mkdir -p results
97+
# Temporarily move build directory to $HOME to circumvent poor F5 performance
98+
mkdir -p $HOME/ci/$CI_PIPELINE_ID/build
99+
ln -s $HOME/ci/$CI_PIPELINE_ID/build build
100+
# Builds need non-mangled access to src/.
101+
ln -s "$(pwd)"/src $HOME/ci/$CI_PIPELINE_ID/src
102+
# Static builds need access to ocean_only/
103+
ln -s "$(pwd)"/ocean_only $HOME/ci/$CI_PIPELINE_ID/ocean_only
97104
fi
98105
section-end create-job-dir
99106
}

0 commit comments

Comments
 (0)