diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index d31c820421..76fd23a1ac 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -105,12 +105,12 @@ jobs: sudo systemctl restart docker sleep 10 cd tests/ci && ./ci.sh -n ${{ matrix.name }} -b ${{ matrix.case }} + sudo docker image ls - - name: Free up disk space - run: | - sudo docker rmi $(sudo docker image ls | grep -E -m1 '' | awk '{ print $3 }') - sudo docker rmi $(sudo docker image ls | awk '/ubuntu-hpc/ { print $3 }') - + #- name: Free up disk space + # run: | + # sudo docker images --no-trunc --all --quiet --filter="dangling=true" | sudo xargs --no-run-if-empty docker rmi + - uses: actions/upload-artifact@v2 with: name: ${{ matrix.bld_set }}.artifact @@ -174,14 +174,14 @@ jobs: cd ${{ github.workspace }}/tests/ci ./ci.sh -n ${{ matrix.name }} -r ${{ matrix.case }} - - uses: actions/upload-artifact@v2 - if: ${{ always() }} - with: - name: memory_stat_${{ matrix.test_set }} - path: memory_stat - - - name: Clean up - if: ${{ always() }} - run: | - docker stop my-container && docker rm my-container - docker volume rm DataVolume + #- uses: actions/upload-artifact@v2 + # if: ${{ always() }} + # with: + # name: memory_stat_${{ matrix.test_set }} + # path: memory_stat + + #- name: Clean up + # if: ${{ always() }} + # run: | + #docker stop my-container && docker rm my-container + #docker volume rm DataVolume diff --git a/tests/ci/Dockerfile b/tests/ci/Dockerfile index bbf8566046..c19e5f09e1 100644 --- a/tests/ci/Dockerfile +++ b/tests/ci/Dockerfile @@ -1,4 +1,6 @@ -From noaaemc/ubuntu-hpc:v1.11b +From noaaepic/ubuntu20.04-gnu9.3-hpc-stack:v1.2 + +CMD ["/bin/bash"] ENV HOME=/home/builder COPY --chown=builder:builder . $HOME/ufs-weather-model @@ -6,14 +8,13 @@ COPY --chown=builder:builder . $HOME/ufs-weather-model USER builder ENV USER=builder ARG test_name -ARG build_case +ARG run_case ENV test_name=$test_name -ENV build_case=$build_case -ENV test_case= +ENV run_case=$run_case ENV CI_TEST=true ENV RT_COMPILER=gnu -ENV RT_MACHINE=linux.gnu +ENV RT_MACHINE=linux +ENV MACHINE_ID=linux WORKDIR $HOME/ufs-weather-model/tests -RUN ./opnReqTest -n $test_name -c $build_case -z && tar -cvzf fv3.tar.gz fv3_*.exe modules.fv3_* -CMD ./opnReqTest -n $test_name -c $test_case -x +CMD ./opnReqTest -n $test_name -c $run_case diff --git a/tests/ci/Jenkinsfile b/tests/ci/Jenkinsfile new file mode 100644 index 0000000000..0f3ddd38f0 --- /dev/null +++ b/tests/ci/Jenkinsfile @@ -0,0 +1,75 @@ +pipeline { + agent none + + options { + disableConcurrentBuilds() + overrideIndexTriggers(false) + skipDefaultCheckout(true) + } + + stages { + stage('ORT') { + matrix { + axes { + axis { + name 'TEST_NAME' + values 'control', 'regional_control', 'cpld_control_nowave_noaero_p8' + } + + axis { + name 'TEST_CASE' + values 'thr', 'mpi', 'dcp', 'rst', 'bit', 'dbg' + } + } + + excludes { + exclude { + axis { + name 'TEST_NAME' + values 'regional_control' + } + + axis { + name 'TEST_CASE' + values 'mpi', 'rst', 'bit', 'dbg' + } + } + + exclude { + axis { + name 'TEST_NAME' + values 'cpld_control_nowave_noaero_p8' + } + + axis { + name 'TEST_CASE' + values 'mpi', 'dcp', 'rst', 'bit', 'thr' // TODO: Remove thr case from cpld_control_nowave_noaero_p8 exclusions when it is passing again + } + } + } + + stages { + stage('Test') { + when { + expression { + !changeRequest() + } + } + + steps { + 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}")] + } + } + + stage('Test for Change Request') { + when { changeRequest() } + + steps { + 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}")] + } + } + } + } + } + } +} diff --git a/tests/compile.sh b/tests/compile.sh index e007718bf7..001a1cfea2 100755 --- a/tests/compile.sh +++ b/tests/compile.sh @@ -132,13 +132,13 @@ bash -x ${PATHTR}/build.sh mv ${BUILD_DIR}/ufs_model ${PATHTR}/tests/${BUILD_NAME}.exe if [[ "${MAKE_OPT}" == "-DDEBUG=ON" ]]; then - if [[ $MACHINE_ID == gaea.* ]]; then + if [[ $MACHINE_ID == gaea.* ]] || [[ $MACHINE_ID == linux.* ]]; then cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}_debug ${PATHTR}/tests/modules.${BUILD_NAME} else cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}_debug.lua ${PATHTR}/tests/modules.${BUILD_NAME}.lua fi else - if [[ $MACHINE_ID == gaea.* ]]; then + if [[ $MACHINE_ID == gaea.* ]] || [[ $MACHINE_ID == linux.* ]]; then cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID} ${PATHTR}/tests/modules.${BUILD_NAME} else cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}.lua ${PATHTR}/tests/modules.${BUILD_NAME}.lua diff --git a/tests/run_test.sh b/tests/run_test.sh index 522e1aff34..a5ac72aac9 100755 --- a/tests/run_test.sh +++ b/tests/run_test.sh @@ -147,7 +147,7 @@ MACHINE_ID=${MACHINE_ID:-false} cp ${PATHRT}/fv3_${COMPILE_NR}.exe fv3.exe # modulefile for FV3 prerequisites: -if [[ $MACHINE_ID == gaea.* ]]; then +if [[ $MACHINE_ID == gaea.* ]] || [[ $MACHINE_ID == linux.* ]]; then cp ${PATHRT}/modules.fv3_${COMPILE_NR} modules.fv3 else cp ${PATHRT}/modules.fv3_${COMPILE_NR}.lua modules.fv3.lua