Skip to content

Commit e6da626

Browse files
Jesse McFarlandjkbk2004
Jesse McFarland
andauthored
Check-in Jenkins Docker ORT CI (ufs-community#1411)
* Update input-data and hpc-stack containers * Update Dockerfile and opnReqTest * Update Jenkinsfile to handle PRs properly Co-authored-by: JONG KIM <jong.kim@noaa.gov>
1 parent 14db6bb commit e6da626

File tree

5 files changed

+102
-26
lines changed

5 files changed

+102
-26
lines changed

.github/workflows/build_test.yml

+16-16
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@ jobs:
105105
sudo systemctl restart docker
106106
sleep 10
107107
cd tests/ci && ./ci.sh -n ${{ matrix.name }} -b ${{ matrix.case }}
108+
sudo docker image ls
108109
109-
- name: Free up disk space
110-
run: |
111-
sudo docker rmi $(sudo docker image ls | grep -E -m1 '<none>' | awk '{ print $3 }')
112-
sudo docker rmi $(sudo docker image ls | awk '/ubuntu-hpc/ { print $3 }')
113-
110+
#- name: Free up disk space
111+
# run: |
112+
# sudo docker images --no-trunc --all --quiet --filter="dangling=true" | sudo xargs --no-run-if-empty docker rmi
113+
114114
- uses: actions/upload-artifact@v2
115115
with:
116116
name: ${{ matrix.bld_set }}.artifact
@@ -174,14 +174,14 @@ jobs:
174174
cd ${{ github.workspace }}/tests/ci
175175
./ci.sh -n ${{ matrix.name }} -r ${{ matrix.case }}
176176
177-
- uses: actions/upload-artifact@v2
178-
if: ${{ always() }}
179-
with:
180-
name: memory_stat_${{ matrix.test_set }}
181-
path: memory_stat
182-
183-
- name: Clean up
184-
if: ${{ always() }}
185-
run: |
186-
docker stop my-container && docker rm my-container
187-
docker volume rm DataVolume
177+
#- uses: actions/upload-artifact@v2
178+
# if: ${{ always() }}
179+
# with:
180+
# name: memory_stat_${{ matrix.test_set }}
181+
# path: memory_stat
182+
183+
#- name: Clean up
184+
# if: ${{ always() }}
185+
# run: |
186+
#docker stop my-container && docker rm my-container
187+
#docker volume rm DataVolume

tests/ci/Dockerfile

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
From noaaemc/ubuntu-hpc:v1.11b
1+
From noaaepic/ubuntu20.04-gnu9.3-hpc-stack:v1.2
2+
3+
CMD ["/bin/bash"]
24

35
ENV HOME=/home/builder
46
COPY --chown=builder:builder . $HOME/ufs-weather-model
57

68
USER builder
79
ENV USER=builder
810
ARG test_name
9-
ARG build_case
11+
ARG run_case
1012
ENV test_name=$test_name
11-
ENV build_case=$build_case
12-
ENV test_case=
13+
ENV run_case=$run_case
1314
ENV CI_TEST=true
1415
ENV RT_COMPILER=gnu
15-
ENV RT_MACHINE=linux.gnu
16+
ENV RT_MACHINE=linux
17+
ENV MACHINE_ID=linux
1618

1719
WORKDIR $HOME/ufs-weather-model/tests
18-
RUN ./opnReqTest -n $test_name -c $build_case -z && tar -cvzf fv3.tar.gz fv3_*.exe modules.fv3_*
19-
CMD ./opnReqTest -n $test_name -c $test_case -x
20+
CMD ./opnReqTest -n $test_name -c $run_case

tests/ci/Jenkinsfile

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
pipeline {
2+
agent none
3+
4+
options {
5+
disableConcurrentBuilds()
6+
overrideIndexTriggers(false)
7+
skipDefaultCheckout(true)
8+
}
9+
10+
stages {
11+
stage('ORT') {
12+
matrix {
13+
axes {
14+
axis {
15+
name 'TEST_NAME'
16+
values 'control', 'regional_control', 'cpld_control_nowave_noaero_p8'
17+
}
18+
19+
axis {
20+
name 'TEST_CASE'
21+
values 'thr', 'mpi', 'dcp', 'rst', 'bit', 'dbg'
22+
}
23+
}
24+
25+
excludes {
26+
exclude {
27+
axis {
28+
name 'TEST_NAME'
29+
values 'regional_control'
30+
}
31+
32+
axis {
33+
name 'TEST_CASE'
34+
values 'mpi', 'rst', 'bit', 'dbg'
35+
}
36+
}
37+
38+
exclude {
39+
axis {
40+
name 'TEST_NAME'
41+
values 'cpld_control_nowave_noaero_p8'
42+
}
43+
44+
axis {
45+
name 'TEST_CASE'
46+
values 'mpi', 'dcp', 'rst', 'bit', 'thr' // TODO: Remove thr case from cpld_control_nowave_noaero_p8 exclusions when it is passing again
47+
}
48+
}
49+
}
50+
51+
stages {
52+
stage('Test') {
53+
when {
54+
expression {
55+
!changeRequest()
56+
}
57+
}
58+
59+
steps {
60+
build job: 'ufs-weather-model/ort-docker-pipeline', parameters: [string(name: 'TEST_NAME', value: "${env.TEST_NAME}"), string(name: 'TEST_CASE', value: "${env.TEST_CASE}"), string(name: 'WRAPPER_GIT_BRANCH', value: "${env.BRANCH_NAME}")]
61+
}
62+
}
63+
64+
stage('Test for Change Request') {
65+
when { changeRequest() }
66+
67+
steps {
68+
build job: 'ufs-weather-model/ort-docker-pipeline', parameters: [string(name: 'TEST_NAME', value: "${env.TEST_NAME}"), string(name: 'TEST_CASE', value: "${env.TEST_CASE}"), booleanParam(name: 'WRAPPER_CHANGE_REQUEST', value: true), string(name: 'WRAPPER_GIT_BRANCH', value: "${env.CHANGE_TARGET}"), string(name: 'WRAPPER_CHANGE_BRANCH', value: "${env.CHANGE_BRANCH}"), string(name: 'WRAPPER_CHANGE_FORK', value: "${env.CHANGE_FORK}")]
69+
}
70+
}
71+
}
72+
}
73+
}
74+
}
75+
}

tests/compile.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,13 @@ bash -x ${PATHTR}/build.sh
132132

133133
mv ${BUILD_DIR}/ufs_model ${PATHTR}/tests/${BUILD_NAME}.exe
134134
if [[ "${MAKE_OPT}" == "-DDEBUG=ON" ]]; then
135-
if [[ $MACHINE_ID == gaea.* ]]; then
135+
if [[ $MACHINE_ID == gaea.* ]] || [[ $MACHINE_ID == linux.* ]]; then
136136
cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}_debug ${PATHTR}/tests/modules.${BUILD_NAME}
137137
else
138138
cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}_debug.lua ${PATHTR}/tests/modules.${BUILD_NAME}.lua
139139
fi
140140
else
141-
if [[ $MACHINE_ID == gaea.* ]]; then
141+
if [[ $MACHINE_ID == gaea.* ]] || [[ $MACHINE_ID == linux.* ]]; then
142142
cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID} ${PATHTR}/tests/modules.${BUILD_NAME}
143143
else
144144
cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}.lua ${PATHTR}/tests/modules.${BUILD_NAME}.lua

tests/run_test.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ MACHINE_ID=${MACHINE_ID:-false}
147147
cp ${PATHRT}/fv3_${COMPILE_NR}.exe fv3.exe
148148

149149
# modulefile for FV3 prerequisites:
150-
if [[ $MACHINE_ID == gaea.* ]]; then
150+
if [[ $MACHINE_ID == gaea.* ]] || [[ $MACHINE_ID == linux.* ]]; then
151151
cp ${PATHRT}/modules.fv3_${COMPILE_NR} modules.fv3
152152
else
153153
cp ${PATHRT}/modules.fv3_${COMPILE_NR}.lua modules.fv3.lua

0 commit comments

Comments
 (0)