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

PLATFORM 989/PLATFORM 1000 - Develop a label (manual) triggered pipeline based on CM team's approval of UFS-WM. New and improved, now with parallelization. (Combined PR 2057 and PR 2039) #2017

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
44d67e8
feature/add-RT-parallelization, adding new Jenkinsfile to allow regre…
kbooker79 Nov 29, 2023
6aa0c6e
feature/add-RT-parallelization, updating to include submodules
kbooker79 Nov 29, 2023
f5d6f50
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Nov 30, 2023
6321142
Adding post section.
kbooker79 Dec 1, 2023
873802e
Updating to move post section.
kbooker79 Dec 1, 2023
232f561
Updating with steps parm.
kbooker79 Dec 1, 2023
05b9eb6
Reorganizing
kbooker79 Dec 1, 2023
6d4bf09
Removing from node parm
kbooker79 Dec 1, 2023
ad7d914
Trying this a different way
kbooker79 Dec 1, 2023
e11d76d
Removing for now.
kbooker79 Dec 1, 2023
07c7fd7
Update.
kbooker79 Dec 1, 2023
cb737d4
Again.
kbooker79 Dec 1, 2023
eb3f790
Update
kbooker79 Dec 1, 2023
c4a2279
Updating
kbooker79 Dec 1, 2023
899a01a
Update
kbooker79 Dec 1, 2023
c8507a3
Updating to add post section
kbooker79 Dec 1, 2023
3b52d1f
Fix
kbooker79 Dec 1, 2023
8226480
Adding Sonarqube gate
kbooker79 Dec 1, 2023
d9aa441
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Dec 1, 2023
6de0d20
Removing comment from regression testing on Gaea.
kbooker79 Dec 1, 2023
c1ddf49
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Dec 7, 2023
7bfebb0
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Dec 8, 2023
93fda84
feature/add-RT-parallelization, updating to force Hera to use NEMS un…
kbooker79 Dec 8, 2023
934251c
feature/add-RT-parallelization, and then :)
kbooker79 Dec 8, 2023
217977b
Merge branch 'ufs-community:develop' into feature/add-RT-parallelization
zach1221 Dec 15, 2023
defdc6a
Update bl_date.conf
zach1221 Dec 15, 2023
b6a872f
feature/add-RT-parallelization, combining PR 2039 and 2057 into a sin…
kbooker79 Jan 2, 2024
162cfcf
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Jan 2, 2024
5e4cd62
feature/add-RT-parallelization, adding pull for multiple platforms
kbooker79 Jan 3, 2024
f4f080e
[AutoRT] Hera Job Completed.
epic-cicd-jenkins Jan 4, 2024
758c1d0
[AutoRT] Orion Job Completed.
epic-cicd-jenkins Jan 4, 2024
0e9f4dc
[AutoRT] Orion Job Completed.\n\n\n on-behalf-of @ufs-community <ecc.…
epic-cicd-jenkins Jan 4, 2024
5dbb62d
[AutoRT] Orion Job Completed.\n\n\n on-behalf-of @ufs-community <ecc.…
epic-cicd-jenkins Jan 4, 2024
e64db93
feature/add-RT-parallelization, updating with new pull.
kbooker79 Jan 4, 2024
1e00bcc
Merge branch 'develop' into feature/add-RT-parallelization
zach1221 Jan 4, 2024
761fd93
[AutoRT] Hera Job Completed.
epic-cicd-jenkins Jan 4, 2024
1755486
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Jan 4, 2024
3cba704
[AutoRT] Orion Job Completed.
epic-cicd-jenkins Jan 5, 2024
64a13c5
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Jan 5, 2024
ec986ac
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Jan 5, 2024
21c3a77
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Jan 5, 2024
604746f
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Jan 5, 2024
d7c3ed1
adjustment to jenkinsfile
zach1221 Jan 5, 2024
b1bbb0f
[AutoRT] Derecho Job Completed.
epic-cicd-jenkins Jan 5, 2024
bb91cfd
Update Jenkinsfile.combined add correct derecho account
zach1221 Jan 5, 2024
50a0654
[AutoRT] Derecho Job Completed.
epic-cicd-jenkins Jan 5, 2024
1438e02
Update bl_date.conf with fake date for testing
zach1221 Jan 8, 2024
0315e53
Update Jenkinsfile.combined
zach1221 Jan 8, 2024
9ba8689
Merge branch 'develop' into feature/add-RT-parallelization
zach1221 Jan 9, 2024
61c4fe7
Update Jenkinsfile.combined move bl_date.conf source
zach1221 Jan 10, 2024
97d6be3
Merge branch 'develop' into feature/add-RT-parallelization
zach1221 Jan 10, 2024
ff8983e
Update Jenkinsfile.combined
zach1221 Jan 11, 2024
284fb46
Update Jenkinsfile.combined bl_date source command
zach1221 Jan 12, 2024
2bd70f0
syncing logs resolving conflicts
zach1221 Jan 12, 2024
8a71b8f
Merge branch 'ufs-community:develop' into feature/add-RT-parallelization
zach1221 Jan 12, 2024
882ce62
Update Jenkinsfile.combined update gaea machine name
zach1221 Jan 12, 2024
b3ee496
Update Jenkinsfile.combined
zach1221 Jan 12, 2024
a2fc9ce
Update Jenkinsfile.combined
zach1221 Jan 12, 2024
52b3bd1
Update Jenkinsfile.combined add back $WORKSPACE
zach1221 Jan 16, 2024
6151219
Merge branch 'develop' into feature/add-RT-parallelization
zach1221 Jan 16, 2024
983f0fe
Update Jenkinsfile.combined bl_date source alternative
zach1221 Jan 17, 2024
584f4ab
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Jan 22, 2024
261c083
Updating.
kbooker79 Jan 22, 2024
d033368
Reverting change.
kbooker79 Jan 22, 2024
0b7229c
feature/add-RT-parallelization, adding post-baseline creation regress…
kbooker79 Jan 23, 2024
5607769
Merge commit 'adfcede972b1c5678f2295c1d4c2153851086dfb' into HEAD
yashikno Jan 23, 2024
cd111ea
[AutoRT] Derecho Job Completed.\n\n\n on-behalf-of @ufs-community <ec…
epic-cicd-jenkins Jan 23, 2024
88ec49d
feature/add-RT-parallelization, fixing typo.
kbooker79 Jan 23, 2024
f144441
Amending typo for GaeaC5
kbooker79 Jan 23, 2024
0133222
Reverting to develop.
kbooker79 Jan 23, 2024
81840f8
Fixing BL date, backticks are not quotes.
kbooker79 Jan 23, 2024
2b5e0e2
[AutoRT] Derecho Job Completed.
epic-cicd-jenkins Jan 24, 2024
29ebb7f
Adding try/catch block for failed tests.
kbooker79 Jan 24, 2024
ee346ea
Merge branch 'feature/add-RT-parallelization' into develop
kbooker79 Jan 24, 2024
a761c1f
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Jan 24, 2024
c7998da
Syntax error.
kbooker79 Jan 24, 2024
3b9b826
Updating
kbooker79 Jan 24, 2024
f430cb6
Adding try block
kbooker79 Jan 24, 2024
213c500
Trying
kbooker79 Jan 24, 2024
727bca9
Updating
kbooker79 Jan 24, 2024
96867cd
Updating.
kbooker79 Jan 24, 2024
561934e
Test code
kbooker79 Jan 24, 2024
cb77484
Updating
kbooker79 Jan 24, 2024
83ac64c
Updating
kbooker79 Jan 24, 2024
8770528
Adding failure result
kbooker79 Jan 24, 2024
7a09d39
Updating failure conditional.
kbooker79 Jan 24, 2024
69624b1
Adding missing variable.
kbooker79 Jan 24, 2024
8632494
Updating.
kbooker79 Jan 24, 2024
0c4bee6
Updating.
kbooker79 Jan 24, 2024
101ce40
Updating
kbooker79 Jan 24, 2024
7f29b77
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Jan 24, 2024
9cad083
Update bl_date.conf
zach1221 Jan 25, 2024
e2624ed
Update Jenkinsfile.combined fix hercules workflow variable
zach1221 Jan 25, 2024
3bc5eda
Update bl_date.conf
zach1221 Jan 25, 2024
92a24fd
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Jan 25, 2024
0476da5
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Jan 25, 2024
7cac96a
Update Jenkinsfile.combined fix typo and Machine label variable
zach1221 Jan 25, 2024
96f4397
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Jan 26, 2024
0311d7d
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Jan 26, 2024
7ce103e
[AutoRT] Hera Job Completed.
epic-cicd-jenkins Jan 26, 2024
a5fc696
[AutoRT] Orion Job Completed.
epic-cicd-jenkins Jan 28, 2024
2c36acd
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Jan 28, 2024
d06fe41
feature/add-RT-parallelization, updating to ensure the label is remov…
kbooker79 Jan 29, 2024
c65019f
Merge branch 'feature/add-RT-parallelization' into develop
kbooker79 Jan 29, 2024
a3e50b3
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Jan 29, 2024
28e11bd
[AutoRT] Orion Job Failed!
epic-cicd-jenkins Jan 29, 2024
e8a6983
branch feature/add-RT-parallelization, fixing date.
kbooker79 Jan 29, 2024
44173cc
Resetting logs
kbooker79 Jan 29, 2024
8974c16
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Jan 29, 2024
503d82c
Update rt.conf enable noaacloud for all intel cases
zach1221 Jan 31, 2024
d228289
Merge branch 'develop' into feature/add-RT-parallelization
zach1221 Feb 2, 2024
476306f
Update bl_date.conf
jkbk2004 Feb 3, 2024
d4e1953
Update rt.conf fix typos
zach1221 Feb 5, 2024
c5eea0f
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 5, 2024
8fa1e1f
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 5, 2024
e405f42
sync logs
zach1221 Feb 6, 2024
9c121da
Merge branch 'ufs-community:develop' into feature/add-RT-parallelization
zach1221 Feb 6, 2024
320d332
Update rt.conf add typo to test failure notification
zach1221 Feb 6, 2024
80179c2
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 6, 2024
2d89d12
Resolving conflicts
kbooker79 Feb 12, 2024
f2106fe
Resolving conflict
kbooker79 Feb 12, 2024
f52cf01
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Feb 12, 2024
1ddbef6
Adding post section
kbooker79 Feb 13, 2024
37cac72
Adding post section
kbooker79 Feb 13, 2024
ffdceb2
Fixing conflict
kbooker79 Feb 13, 2024
84f7217
Updating.
kbooker79 Feb 13, 2024
3d3e15d
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Feb 13, 2024
83803f1
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
7649656
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
f7f50a8
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Feb 13, 2024
1e642fa
Updating.
kbooker79 Feb 13, 2024
7490fbd
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
8595a4f
Updating.
kbooker79 Feb 13, 2024
29b877d
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
70579d3
Updating.
kbooker79 Feb 13, 2024
4866215
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
31e1073
Adding artifact archiving.
kbooker79 Feb 13, 2024
40d7052
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
ffb6da4
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
fa75273
Updating pathing.
kbooker79 Feb 13, 2024
9db139f
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
5515583
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Feb 13, 2024
82d67cb
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
b963cdf
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
0c81d58
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Feb 13, 2024
442f520
Updating config.
kbooker79 Feb 13, 2024
c6151d8
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
bd2dd90
feature/add-RT-parallelization, removing comment from Hera testing, f…
kbooker79 Feb 13, 2024
dc3132c
[AutoRT] Hera Job Failed!
epic-cicd-jenkins Feb 13, 2024
6d70d0c
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 13, 2024
32770da
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Feb 22, 2024
bd6b9df
feature/add-RT-parallelization, adding additional error logging as pe…
kbooker79 Feb 23, 2024
e7c66d3
Update rt.conf to test failure
zach1221 Feb 23, 2024
4405b21
Adding regression test use-cases as well
kbooker79 Feb 23, 2024
f1bb432
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 23, 2024
3de3355
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 23, 2024
7dcf6ab
Update rt.conf
zach1221 Feb 23, 2024
6a5a566
Merge branch 'develop' into feature/add-RT-parallelization
kbooker79 Feb 26, 2024
62020d1
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 26, 2024
9725cb2
Delete tests/RT-run-Hercules.log
zach1221 Feb 26, 2024
e374109
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 26, 2024
7ddcb22
Update rt.conf remove nonexistent test
zach1221 Feb 26, 2024
af07cf2
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Feb 26, 2024
4f00a7e
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 26, 2024
3600c62
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Feb 26, 2024
45a5367
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Feb 26, 2024
6255864
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 26, 2024
9d88445
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Feb 26, 2024
e0a049b
Update fv3_slurm.IN_gaea
zach1221 Feb 26, 2024
86ce290
Update ufs_gaea.intel.lua
zach1221 Feb 26, 2024
d1fe125
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Feb 26, 2024
dd00cbf
Update Jenkinsfile.combined fix fail log path
zach1221 Feb 27, 2024
5030f82
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 27, 2024
a2142e4
Update Jenkinsfile.combined hercules account export
zach1221 Feb 27, 2024
8dcbd3c
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 27, 2024
031d19f
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Feb 27, 2024
1b0fcdc
[AutoRT] GaeaC5 Job Failed!
epic-cicd-jenkins Feb 27, 2024
f20e3a5
Updating to use Gaea rather than GaeaC5
kbooker79 Feb 27, 2024
44991b4
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Feb 28, 2024
3fd8659
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Feb 28, 2024
ac36004
Merge branch 'feature/add-RT-parallelization' of github.com:kbooker79…
epic-cicd-jenkins Feb 28, 2024
cd979b6
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Feb 28, 2024
5051cc1
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Feb 28, 2024
b865976
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Feb 28, 2024
0f379ce
Delete tests/RT-run-Hercules.log
zach1221 Feb 28, 2024
a10e27b
Delete tests/RT-run-GaeaC5.log
zach1221 Feb 28, 2024
274db5a
update rt.conf to match develop
zach1221 Feb 29, 2024
f385e33
Update rt.conf
zach1221 Feb 29, 2024
d69cf6b
Update rt.sh change hercules to batch
zach1221 Feb 29, 2024
e32959c
Update RegressionTests_gaea.log
zach1221 Mar 3, 2024
2b3e6c8
Update RegressionTests_hercules.log
zach1221 Mar 3, 2024
bc731a0
Merge branch 'ufs-community:develop' into feature/add-RT-parallelization
zach1221 Mar 3, 2024
a0eeb8c
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Mar 3, 2024
322ba76
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Mar 3, 2024
3a3ee19
Update Jenkinsfile.combined
zach1221 Mar 3, 2024
7264442
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Mar 4, 2024
0d859bc
Update Jenkinsfile.combined
zach1221 Mar 4, 2024
bea514e
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Mar 4, 2024
653ddeb
[AutoRT] Gaea Job Completed.
epic-cicd-jenkins Mar 4, 2024
04816a9
Update Jenkinsfile.combined reset stmp
zach1221 Mar 4, 2024
7911a0f
[AutoRT] Hercules Job Failed!
epic-cicd-jenkins Mar 4, 2024
6a8831a
Update Jenkinsfile.combined revert previous change
zach1221 Mar 4, 2024
7f84bc2
[AutoRT] Hercules Job Completed.
epic-cicd-jenkins Mar 4, 2024
1fa7e1b
Update ufs_jet.intel.lua rocky8 update
zach1221 Mar 4, 2024
ba9d569
Update rt.sh for jet rocky8
zach1221 Mar 4, 2024
881bfc9
add gaea RT logs: passed
zach1221 Mar 5, 2024
af4bff8
add hercules RT logs: passed
zach1221 Mar 5, 2024
2e28350
Merge branch 'ufs-community:develop' into feature/add-RT-parallelization
zach1221 Mar 5, 2024
12f5ffb
Delete tests/logs/RT-run-GaeaC5.log
zach1221 Mar 5, 2024
9bf2ecd
Delete tests/logs/RT-run-Hercules.log
zach1221 Mar 5, 2024
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
2 changes: 1 addition & 1 deletion modulefiles/ufs_gaea.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ help([[
on the NOAA RDHPC machine Gaea C5 using Intel-2023.1.0.
]])

whatis([===[Loads libraries needed for building the UFS Weather Model on Gaea C5 ]===])
whatis([===[Loads libraries needed for building the UFS Weather Model on Gaea ]===])

load("PrgEnv-intel/8.3.3")
load("intel-classic/2023.1.0")
Expand Down
2 changes: 1 addition & 1 deletion modulefiles/ufs_jet.intel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ help([[
loads UFS Model prerequisites for Jet/Intel
]])

prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env/install/modulefiles/Core")
prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/install/modulefiles/Core")

stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0"
load(pathJoin("stack-intel", stack_intel_ver))
Expand Down
301 changes: 301 additions & 0 deletions tests/ci/Jenkinsfile.combined
Original file line number Diff line number Diff line change
@@ -0,0 +1,301 @@
matchedNode = []
generateBaselineNode = []
for (label in pullRequest.labels) {
listOfLabelNodeNames = jenkins.model.Jenkins.instance.nodes.collect {
node -> node.getLabelString().contains(label) ? node.name : null

if ((label.matches(node.getLabelString()+"-(.*)"))) {
matchedNode += node.getLabelString()
}

if ((label.matches(node.getLabelString()+"(.*)-BL"))) {
generateBaselineNode += node.getLabelString()
}

}
}

modifiedLabels = matchedNode.collect{"'" + it + "'"}
baselineLabels = generateBaselineNode.collect{"'" + it + "'"}
def generateStage(nodeLabel) {
return {
stage("Running on ${nodeLabel}") {
node(nodeLabel) {
cleanWs()
checkout scm
script {
try {
echo "Running on ${nodeLabel}"
if (baselineLabels.contains(nodeLabel)) {
sh '''
git submodule update --init --recursive
cd tests
pwd
export BL_DATE=$(cat bl_date.conf | cut -d '=' -f2)
export machine=${NODE_NAME}
export PATH=$PATH:~/bin
echo $CHANGE_ID
export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/ufs-community/ufs-weather-model/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url')
export FORK_BRANCH=$(curl --silent https://api.github.com/repos/ufs-community/ufs-weather-model/pulls/$CHANGE_ID | jq -r '.head.ref')

if [[ $machine =~ "Jet" ]]
then
echo "Creating baselines on $machine"
export dprefix=/lfs1/NAGAPE/$ACCNR/$USER
./rt.sh -a ${ACCNR} -c -r -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Hercules" ]]
then
echo "Creating baselines on $machine"
export dprefix=/work2/noaa/$ACCNR/$USER
sed "s|/noaa/stmp/|/noaa/$ACCNR/stmp/|g" -i rt.sh
export ACCNR=epic
./rt.sh -a ${ACCNR} -c -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
export DISKNM=/work/noaa/epic/hercules/UFS-WM_RT
cd ${DISKNM}/NEMSfv3gfs/
mkdir develop-${BL_DATE}
cd /work2/noaa/epic/stmp/role-epic/stmp/role-epic/FV3_RT
rsync -a REGRESSION_TEST/ ${DISKNM}/NEMSfv3gfs/develop-${BL_DATE}
cd ${DISKNM}/NEMSfv3gfs/
./adjust_permissions.sh hercules develop-${BL_DATE}
chgrp noaa-hpc develop-${BL_DATE}
cd $WORKSPACE/tests
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Orion" ]]
then
echo "Creating baselines on $machine"
export dprefix=/work2/noaa/$ACCNR/$USER
sed -i 's|/work/noaa/stmp/${USER}|/work/noaa/epic/stmp/role-epic/|g' rt.sh
export ACCNR=epic
./rt.sh -a ${ACCNR} -c -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
export DISKNM=/work/noaa/epic/UFS-WM_RT
cd ${DISKNM}/NEMSfv3gfs/
mkdir develop-${BL_DATE}
cd /work/noaa/epic/stmp/role-epic/stmp/role-epic/FV3_RT/
rsync -a REGRESSION_TEST/ ${DISKNM}/NEMSfv3gfs/develop-${BL_DATE}
cd ${DISKNM}/NEMSfv3gfs/
./adjust_permissions.sh orion develop-${BL_DATE}
chgrp noaa-hpc develop-${BL_DATE}
cd $WORKSPACE/tests
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Gaea" ]]
then
echo "Creating baselines on $machine"
./rt.sh -a ${ACCNR} -c -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
unset LD_LIBRARY_PATH
export DISKNM=/lustre/f2/pdata/ncep/role.epic/C5/RT
cd ${DISKNM}/NEMSfv3gfs/
mkdir develop-${BL_DATE}
cd /lustre/f2/scratch/role.epic/FV3_RT
rsync -a REGRESSION_TEST/ ${DISKNM}/NEMSfv3gfs/develop-${BL_DATE}
cd ${DISKNM}/NEMSfv3gfs/
chgrp ncep develop-${BL_DATE}
cd $WORKSPACE/tests
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Hera" ]]
then
echo "Creating baselines on $machine"
export ACCNR=nems
./rt.sh -a ${ACCNR} -c -r -l rt.conf
export DISKNM=/scratch2/NAGAPE/epic/UFS-WM_RT
cd ${DISKNM}/NEMSfv3gfs/
mkdir develop-${BL_DATE}
cd /scratch1/NCEPDEV/stmp4/role.epic/FV3_RT
rsync -a REGRESSION_TEST/ ${DISKNM}/NEMSfv3gfs/develop-${BL_DATE}
cd $WORKSPACE/tests
./rt.sh -a ${ACCNR} -r -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Derecho" ]]
then
echo "Creating baselines on $machine"
export ACCNR=nral0032
./rt.sh -a ${ACCNR} -c -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
export DISKNM=/glade/derecho/scratch/epicufsrt/ufs-weather-model/RT/
cd ${DISKNM}/NEMSfv3gfs/
mkdir develop-${BL_DATE}
cd /glade/derecho/scratch/epicufsrt/FV3_RT
rsync -a REGRESSION_TEST/ ${DISKNM}/NEMSfv3gfs/develop-${BL_DATE}
cd $WORKSPACE/tests
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
else
echo "Creating baselines on $machine"
./rt.sh -a ${ACCNR} -c -r -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
fi
git config user.email "[email protected]"
git config user.name "epic-cicd-jenkins"
echo "Testing concluded...removing labels for $machine from $GIT_URL"

export machine_name_logs=$(echo $machine | awk '{ print tolower($1) }')
git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1
git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1
git add logs/RegressionTests_$machine_name_logs.log
git commit -m "[AutoRT] $machine Job Completed.\n\n\n on-behalf-of @ufs-community <[email protected]>"
git pull sshorigin $FORK_BRANCH
git push sshorigin HEAD:$FORK_BRANCH

tar --create --gzip --verbose --dereference --file "${machine_name_logs}.tgz" ${WORKSPACE}/tests/logs/*.log

GIT_OWNER=$(echo $GIT_URL | cut -d '/' -f4)
GIT_REPO_NAME=$(echo $GIT_URL | cut -d '/' -f5 | cut -d '.' -f1)

curl --silent -X DELETE -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels/$machine-BL
'''
s3Upload consoleLogLevel: 'INFO', dontSetBuildResultOnFailure: false, dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: 'noaa-epic-prod-jenkins-artifacts', excludedFile: '', flatten: true, gzipFiles: false, keepForever: false, managedArtifacts: true, noUploadOnFailure: false, selectedRegion: 'us-east-1', showDirectlyInBrowser: false, sourceFile: "**/*tgz*", storageClass: 'STANDARD', uploadFromSlave: false, useServerSideEncryption: false]], pluginFailureResultConstraint: 'FAILURE', profileName: 'main', userMetadata: []

}
else {
sh '''
git submodule update --init --recursive
pwd
cd tests
export machine=${NODE_NAME}
export PATH=$PATH:~/bin
echo $CHANGE_ID
export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/ufs-community/ufs-weather-model/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url')
export FORK_BRANCH=$(curl --silent https://api.github.com/repos/ufs-community/ufs-weather-model/pulls/$CHANGE_ID | jq -r '.head.ref')

if [[ $machine =~ "Jet" ]]
then
echo "Running regression tests on $machine"
export dprefix=/lfs1/NAGAPE/$ACCNR/$USER
./rt.sh -a ${ACCNR} -r -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Hercules" ]]
then
echo "Running regression tests on $machine"
export dprefix=/work2/noaa/$ACCNR/$USER
sed "s|/noaa/stmp/|/noaa/$ACCNR/stmp/|g" -i rt.sh
export ACCNR=epic
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Orion" ]]
then
echo "Running regression tests on $machine"
export dprefix=/work2/noaa/$ACCNR/$USER
sed "s|/noaa/stmp/|/noaa/$ACCNR/stmp/|g" -i rt.sh
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Gaea" ]]
then
echo "Running regression tests on $machine"
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
unset LD_LIBRARY_PATH
elif [[ $machine =~ "Hera" ]]
then
echo "Running regression tests on $machine"
export ACCNR=nems
./rt.sh -a ${ACCNR} -r -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
elif [[ $machine =~ "Derecho" ]]
then
echo "Running regression tests on $machine"
export ACCNR=nral0032
./rt.sh -a ${ACCNR} -e -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
else
echo "Running regression tests on $machine"
./rt.sh -a ${ACCNR} -r -l rt.conf | tee $WORKSPACE/tests/logs/RT-run-$machine.log
fi

git config user.email "[email protected]"
git config user.name "epic-cicd-jenkins"
export machine_name_logs=$(echo $machine | awk '{ print tolower($1) }')
echo "Testing concluded...removing labels for $machine from $GIT_URL"
git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1
git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1
git add logs/RegressionTests_$machine_name_logs.log
git commit -m "[AutoRT] $machine Job Completed.\n\n\n on-behalf-of @ufs-community <[email protected]>"
git pull sshorigin $FORK_BRANCH
git push sshorigin HEAD:$FORK_BRANCH

tar --create --gzip --verbose --dereference --file "${machine_name_logs}.tgz" ${WORKSPACE}/tests/logs/*.log

GIT_OWNER=$(echo $GIT_URL | cut -d '/' -f4)
GIT_REPO_NAME=$(echo $GIT_URL | cut -d '/' -f5 | cut -d '.' -f1)

curl --silent -X DELETE -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels/$machine-RT

'''
s3Upload consoleLogLevel: 'INFO', dontSetBuildResultOnFailure: false, dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: 'noaa-epic-prod-jenkins-artifacts', excludedFile: '', flatten: true, gzipFiles: false, keepForever: false, managedArtifacts: true, noUploadOnFailure: false, selectedRegion: 'us-east-1', showDirectlyInBrowser: false, sourceFile: "**/*tgz*", storageClass: 'STANDARD', uploadFromSlave: false, useServerSideEncryption: false]], pluginFailureResultConstraint: 'FAILURE', profileName: 'main', userMetadata: []
}
}
catch(err) {
sh '''
export machine=${NODE_NAME}
export CHANGE_ID=${CHANGE_ID}
export SSH_ORIGIN=$(curl --silent https://api.github.com/repos/ufs-community/ufs-weather-model/pulls/$CHANGE_ID | jq -r '.head.repo.ssh_url')
export FORK_BRANCH=$(curl --silent https://api.github.com/repos/ufs-community/ufs-weather-model/pulls/$CHANGE_ID | jq -r '.head.ref')
cd $WORKSPACE/tests
git config user.email "[email protected]"
git config user.name "epic-cicd-jenkins"
export machine_name_logs=$(echo $machine | awk '{ print tolower($1) }')
echo "Testing concluded...removing labels for $machine from $GIT_URL"
git remote -v | grep -w sshorigin > /dev/null 2>&1 && git remote remove sshorigin > /dev/null 2>&1
git remote add sshorigin $SSH_ORIGIN > /dev/null 2>&1

if [[ -f $WORKSPACE/tests/logs/RT-run-$machine.log ]] ; then
git add $WORKSPACE/tests/logs/RT-run-$machine.log
fi
git commit --allow-empty -m "[AutoRT] $machine Job Failed!\n\n\n on-behalf-of @ufs-community <[email protected]>"

git pull sshorigin $FORK_BRANCH
git push sshorigin HEAD:$FORK_BRANCH

tar --create --gzip --verbose --dereference --file "${machine_name_logs}.tgz" ${WORKSPACE}/tests/logs/*.log

GIT_OWNER=$(echo $GIT_URL | cut -d '/' -f4)
GIT_REPO_NAME=$(echo $GIT_URL | cut -d '/' -f5 | cut -d '.' -f1)

curl --silent -X DELETE -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${GITHUB_TOKEN}" https://api.github.com/repos/${GIT_OWNER}/${GIT_REPO_NAME}/issues/${CHANGE_ID}/labels -d '{"labels":["$machine-.*RT|$machine-.*BL"]}'
'''
s3Upload consoleLogLevel: 'INFO', dontSetBuildResultOnFailure: false, dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: 'noaa-epic-prod-jenkins-artifacts', excludedFile: '', flatten: true, gzipFiles: false, keepForever: false, managedArtifacts: true, noUploadOnFailure: false, selectedRegion: 'us-east-1', showDirectlyInBrowser: false, sourceFile: "**/*tgz*", storageClass: 'STANDARD', uploadFromSlave: false, useServerSideEncryption: false]], pluginFailureResultConstraint: 'FAILURE', profileName: 'main', userMetadata: []
currentBuild.result = 'FAILURE'
}
}
}
}
}
}

def parallelStagesMap = modifiedLabels.collectEntries {
["${it}" : generateStage(it)]
}

pipeline {
agent none
environment {
ACCNR = 'epic'
GITHUB_TOKEN = credentials('GithubJenkinsNew')
GIT_URL = 'https://github.com/ufs-community/ufs-weather-model.git'
}
stages {
stage('Run SonarQube Testing') {
steps {
script {
build job: '/ufs-weather-model/ufs-wm-sonarqube', parameters: [
string(name: 'BRANCH_NAME', value: env.CHANGE_BRANCH ?: 'develop'),
string(name: 'FORK_NAME', value: env.CHANGE_FORK ?: '')
], wait: false
}
}
}
stage('Run Regression Tests in Parallel') {
steps {
script {
parallel parallelStagesMap
}
}
}
}
post {
success {
node('built-in') {
echo 'This will run only if successful.'
sh '''
aws sns publish --topic-arn "arn:aws:sns:us-east-1:211527314271:Jenkins-CICD-Notifications" --region us-east-1 --message '{"version":"1.0","source":"custom","content":{"description":":sunny: Jenkins build *'"$JOB_NAME"' '"$BUILD_NUMBER"'* with *PR-'"$CHANGE_ID"'* *succeeded*"}}'
'''
}
}
failure {
node('built-in') {
echo 'This will run only if the run was marked as unstable.'
sh '''
aws sns publish --topic-arn "arn:aws:sns:us-east-1:211527314271:Jenkins-CICD-Notifications" --region us-east-1 --message '{"version":"1.0","source":"custom","content":{"description":":warning: Jenkins build *'"$JOB_NAME"' '"$BUILD_NUMBER"'* with *PR-'"$CHANGE_ID"'* *failed!*"}}'
'''
}
}
}
}
12 changes: 8 additions & 4 deletions tests/rt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -738,8 +738,8 @@ elif [[ $MACHINE_ID = hercules ]]; then
ECFLOW_START=/work/noaa/epic/role-epic/spack-stack/hercules/ecflow-5.8.4/bin/ecflow_start.sh
ECF_PORT=$(( $(id -u) + 1500 ))

QUEUE=windfall
COMPILE_QUEUE=windfall
QUEUE=batch
COMPILE_QUEUE=batch
PARTITION=hercules
dprefix=/work2/noaa/stmp/${USER}
DISKNM=/work/noaa/epic/hercules/UFS-WM_RT
Expand All @@ -758,8 +758,12 @@ elif [[ $MACHINE_ID = jet ]]; then
ROCOTOCOMPLETE=$(which rocotocomplete)
ROCOTO_SCHEDULER=slurm

module load ecflow/5.5.3
ECFLOW_START=/apps/ecflow/5.5.3/bin/ecflow_start.sh
module load ecflow/5.11.4
ECFLOW_START=/apps/ecflow/5.11.4/bin/ecflow_start.sh

module use /mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.5.0/envs/unified-env-rocky8/install/modulefiles/Core
module load stack-intel/2021.5.0
module load stack-python/3.10.8

QUEUE=batch
COMPILE_QUEUE=batch
Expand Down