From 909790be86c0ff767fd6e96dad20688c2d9f13c9 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 15:47:18 -0400 Subject: [PATCH 01/26] add codipack in CI --- .github/workflows/c-cpp.yml | 61 +++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 86b87941e..144ce932f 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -11,6 +11,10 @@ env: jobs: build: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ad_type: ['', 'codipack'] steps: - run: echo "The job was automatically triggered by a ${{ github.event_name }} event." - run: echo "This job is now running on a ${{ runner.os }} server hosted by GitHub!" @@ -35,6 +39,13 @@ jobs: cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.21-linux.sh + - name: Install Codipack + if: ${{ matrix.ad_type == 'codipack'}} + run: | + source $ISSM_DIR/etc/environment.sh + cd $ISSM_DIR/externalpackages/codipack && ./install.sh + cd $ISSM_DIR/externalpackages/medipack && ./install.sh + - name: Get MATLAB id: setup-matlab uses: matlab-actions/setup-matlab@v2 @@ -42,7 +53,8 @@ jobs: release: R2023b cache: true - - name: Reconfigure ISSM + - name: Reconfigure ISSM without AD + if: ${{ matrix.ad_type == ''}} run: | source $ISSM_DIR/etc/environment.sh autoreconf -ivf @@ -63,18 +75,43 @@ jobs: --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" - + + - name: Reconfigure ISSM without Codipack + if: ${{ matrix.ad_type == 'codipack'}} + run: | + source $ISSM_DIR/etc/environment.sh + autoreconf -ivf + ./configure --prefix=${ISSM_DIR} \ + --disable-static \ + --enable-development \ + --enable-debugging \ + --with-numthreads=4 \ + --with-matlab-dir=${{ steps.setup-matlab.outputs.matlabroot }} \ + --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ + --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ + --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \ + --with-petsc-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-blas-lapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-metis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-parmetis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ + --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \ + --with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \ + --with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install" + - name: Compile ISSM run: make -j16 install - name: Compress ISSM artifact - run: tar -cvf ISSM_artifact.tar -C ${{ env.ISSM_DIR }}/ . + run: tar -cvf ISSM_artifact-${{ matrix.ad_type}}.tar -C ${{ env.ISSM_DIR }}/ . - name: Upload ISSM artifact uses: actions/upload-artifact@v4 with: - name: ISSM-${{ runner.os }} - path: ISSM_artifact.tar + name: ISSM-${{ runner.os }}-${{ matrix.ad_type}} + path: ISSM_artifact-${{ matrix.ad_type}}.tar compression-level: 1 test: @@ -83,18 +120,22 @@ jobs: strategy: fail-fast: false matrix: - test-cases: ["101:110", "201:210", "301:310"] + ad_type: ['', 'codipack'] + test-cases: ['101:110, "201:210', '301:310'] + include: + - ad_type: 'codipack' + test-cases: '3015,3119,3480,3201:3206' + steps: - name: Download ISSM artifact uses: actions/download-artifact@v4 with: - name: ISSM-${{ runner.os }} + name: ISSM-${{ runner.os }}-${{ matrix.ad_type}} path: ${{ env.ISSM_DIR }} - name: uncompress ISSM artifact run: | - tar -xvf ISSM_artifact.tar - rm ISSM_artifact.tar + tar -xvf ISSM_artifact-${{ matrix.ad_type}}.tar source $ISSM_DIR/etc/environment.sh working-directory: ${{ env.ISSM_DIR }} shell: 'bash' @@ -117,7 +158,7 @@ jobs: devpath; % Run tests - runme('exclude',[IdFromString('Dakota')],'id',${{matrix.test-cases}},'quitonerror',1); + runme('exclude',[IdFromString('Dakota')],'id',[${{matrix.test-cases}}],'quitonerror',1); quit(0); EOF cat ${ISSM_DIR}/matlab_ci.m From 093a11eb9dfe11a999ab5c8814058417b83da783 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 16:10:56 -0400 Subject: [PATCH 02/26] try to fix codipack configure --- .github/workflows/c-cpp.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 144ce932f..6c4901fe2 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -82,10 +82,14 @@ jobs: source $ISSM_DIR/etc/environment.sh autoreconf -ivf ./configure --prefix=${ISSM_DIR} \ - --disable-static \ + --enable-tape-alloc \ --enable-development \ --enable-debugging \ --with-numthreads=4 \ + --without-kriging \ + --without-kml \ + --without-Sealevelchange \ + --without-Love \ --with-matlab-dir=${{ steps.setup-matlab.outputs.matlabroot }} \ --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ From 884b5f01fa6e224b8cfdfaa5e78144d78f1fa45a Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 16:33:39 -0400 Subject: [PATCH 03/26] add gsl --- .github/workflows/c-cpp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 6c4901fe2..ffe1aa6f0 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -43,6 +43,7 @@ jobs: if: ${{ matrix.ad_type == 'codipack'}} run: | source $ISSM_DIR/etc/environment.sh + cd $ISSM_DIR/externalpackages/gsl && ./install.sh cd $ISSM_DIR/externalpackages/codipack && ./install.sh cd $ISSM_DIR/externalpackages/medipack && ./install.sh @@ -102,6 +103,7 @@ jobs: --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \ + --with-gsl-dir=${ISSM_DIR}/externalpackages/gsl/install \ --with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \ --with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install" From 728380439a53722fbfb0a65b6bf6cb5bda035c85 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 16:59:03 -0400 Subject: [PATCH 04/26] seperate basic and codipack --- .github/workflows/common-workflow.yml | 178 ++++++++++++++++++++++++++ .github/workflows/main-ci.yml | 20 +++ 2 files changed, 198 insertions(+) create mode 100644 .github/workflows/common-workflow.yml create mode 100644 .github/workflows/main-ci.yml diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml new file mode 100644 index 000000000..a0e31e413 --- /dev/null +++ b/.github/workflows/common-workflow.yml @@ -0,0 +1,178 @@ +name: Common CI + +on: + workflow_call: + inputs: + build_type: + required: true + type: string +env: + ISSM_DIR: ${{ github.workspace }} + +jobs: + build: + runs-on: ubuntu-latest + steps: + - run: echo "The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + + - name: Check out repository code + uses: actions/checkout@v4 + + - name: Cache externalpackages + uses: actions/cache@v3 + id: cache-externalpackages + env: + cache-name: cache-triangle-m1qn3-petsc + with: + path: ${{ env.ISSM_DIR }}/externalpackages/ + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + + - name: Install External packages + if: steps.cache-externalpackages.outputs.cache-hit != 'true' + run: | + cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh + cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh + cd $ISSM_DIR/externalpackages/petsc && ./install-3.21-linux.sh + + - name: Install Codipack + if: ${{ inputs.build_type == 'codipack'}} + run: | + source $ISSM_DIR/etc/environment.sh + cd $ISSM_DIR/externalpackages/gsl && ./install.sh + cd $ISSM_DIR/externalpackages/codipack && ./install.sh + cd $ISSM_DIR/externalpackages/medipack && ./install.sh + + - name: Get MATLAB + id: setup-matlab + uses: matlab-actions/setup-matlab@v2 + with: + release: R2023b + cache: true + + - name: Reconfigure ISSM without AD + if: ${{ inputs.build_type == 'basic'}} + run: | + source $ISSM_DIR/etc/environment.sh + autoreconf -ivf + ./configure --prefix=${ISSM_DIR} \ + --disable-static \ + --enable-development \ + --enable-debugging \ + --with-numthreads=4 \ + --with-matlab-dir=${{ steps.setup-matlab.outputs.matlabroot }} \ + --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ + --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ + --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \ + --with-petsc-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-blas-lapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-metis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-parmetis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ + --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" + + - name: Reconfigure ISSM without Codipack + if: ${{ inputs.build_type == 'codipack'}} + run: | + source $ISSM_DIR/etc/environment.sh + autoreconf -ivf + ./configure --prefix=${ISSM_DIR} \ + --enable-tape-alloc \ + --enable-development \ + --enable-debugging \ + --with-numthreads=4 \ + --without-kriging \ + --without-kml \ + --without-Sealevelchange \ + --without-Love \ + --with-matlab-dir=${{ steps.setup-matlab.outputs.matlabroot }} \ + --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ + --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ + --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \ + --with-petsc-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-blas-lapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-metis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-parmetis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ + --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ + --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \ + --with-gsl-dir=${ISSM_DIR}/externalpackages/gsl/install \ + --with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \ + --with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install" + + - name: Compile ISSM + run: make -j16 install + + - name: Compress ISSM artifact + run: tar -cvf ISSM_artifact-${{ inputs.build_type}}.tar -C ${{ env.ISSM_DIR }}/ . + + - name: Upload ISSM artifact + uses: actions/upload-artifact@v4 + with: + name: ISSM-${{ runner.os }}-${{ inputs.build_type}} + path: ISSM_artifact-${{ inputs.build_type}}.tar + compression-level: 1 + + test: + runs-on: ubuntu-latest + needs: build + strategy: + fail-fast: false + matrix: + - test-cases: ['101:110', '201:210', '301:310'] + if: $${{ inputs.build_type == 'basic'}} + - test-cases: ['3015', '3119', '3480', '3201:3206'] + if: $${{ inputs.build_type == 'codipack'}} + + steps: + - name: Download ISSM artifact + uses: actions/download-artifact@v4 + with: + name: ISSM-${{ runner.os }}-${{ inputs.build_type}} + path: ${{ env.ISSM_DIR }} + + - name: uncompress ISSM artifact + run: | + tar -xvf ISSM_artifact-${{ inputs.build_type}}.tar + source $ISSM_DIR/etc/environment.sh + working-directory: ${{ env.ISSM_DIR }} + shell: 'bash' + + - name: Get MATLAB + id: setup-matlab + uses: matlab-actions/setup-matlab@v2 + with: + release: R2023b + cache: true + + - name: Creating matlab_ci.m + run: | + cat > ${ISSM_DIR}/matlab_ci.m << EOF + % Go to the test directory + cd $ISSM_DIR/test/NightlyRun/ + + % Add ISSM tools to path + addpath('${ISSM_DIR}/src/m/dev'); + devpath; + + % Run tests + runme('exclude',[IdFromString('Dakota')],'id',[${{matrix.test-cases}}],'quitonerror',1); + quit(0); + EOF + cat ${ISSM_DIR}/matlab_ci.m + + - name: Get run-matlab-command + run: | + wget -O /usr/local/bin/run-matlab-command https://ssd.mathworks.com/supportfiles/ci/run-matlab-command/v2/glnxa64/run-matlab-command + chmod +x /usr/local/bin/run-matlab-command + + - name: Run MATLAB tests + run: | + source $ISSM_DIR/etc/environment.sh + LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6:$ISSM_DIR/externalpackages/petsc/install/lib/libmpi.so:$ISSM_DIR/externalpackages/petsc/install/lib/libmpifort.so run-matlab-command "matlab_ci" + + - run: echo "This job's status is ${{ job.status }}." diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml new file mode 100644 index 000000000..fca08e5c8 --- /dev/null +++ b/.github/workflows/main-ci.yml @@ -0,0 +1,20 @@ +name: Main Workflow + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] +env: + ISSM_DIR: ${{ github.workspace }} + +jobs: + build-type-matrix: + strategy: + fail-fast: false + matrix: + build_type: ['basic', 'codipack'] + uses: ./.github/workflows/common-workflow.yml + with: + version: ${{ matrix.build_type }} + secrets: inherit From 0ce30b97600eaff4bdae6008dcf7d35bd2256458 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 17:06:17 -0400 Subject: [PATCH 05/26] Update common-workflow.yml --- .github/workflows/common-workflow.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index a0e31e413..997793cf8 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -123,11 +123,10 @@ jobs: strategy: fail-fast: false matrix: - - test-cases: ['101:110', '201:210', '301:310'] - if: $${{ inputs.build_type == 'basic'}} - - test-cases: ['3015', '3119', '3480', '3201:3206'] - if: $${{ inputs.build_type == 'codipack'}} - + test-cases: ['101:110', '201:210', '301:310'] + include: + - test-cases: $${{ inputs.build_type == 'codipack' && ['3015', '3119', '3480', '3201:3206'] }} + steps: - name: Download ISSM artifact uses: actions/download-artifact@v4 From 92c4d5e3dc21c450b2b4a67563682f234f5f972f Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 17:10:34 -0400 Subject: [PATCH 06/26] only include ad tests for ccdipack --- .github/workflows/common-workflow.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 997793cf8..40b20146e 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -123,9 +123,13 @@ jobs: strategy: fail-fast: false matrix: - test-cases: ['101:110', '201:210', '301:310'] + test-cases: + - '101:110' + - '201:210' + - '301:310' include: - - test-cases: $${{ inputs.build_type == 'codipack' && ['3015', '3119', '3480', '3201:3206'] }} + - test-cases: $${{ inputs.build_type == 'codipack' && '3015, 3119, 3480' }} + - test-cases: $${{ inputs.build_type == 'codipack' && '3201:3206' }} steps: - name: Download ISSM artifact From e2e12b5d6b67480a0aac1728a3fcdc80f8be5443 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 17:12:28 -0400 Subject: [PATCH 07/26] fix bug in main-ci --- .github/workflows/main-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index fca08e5c8..13cc7e75b 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -16,5 +16,5 @@ jobs: build_type: ['basic', 'codipack'] uses: ./.github/workflows/common-workflow.yml with: - version: ${{ matrix.build_type }} + build_type: ${{ matrix.build_type }} secrets: inherit From 0bde9523f45b97271dbc7a8c7ec0530893819a48 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 18:08:58 -0400 Subject: [PATCH 08/26] set different names for different runs --- .github/workflows/common-workflow.yml | 39 ++++++++++++++++++--------- .github/workflows/main-ci.yml | 5 +++- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 40b20146e..6e9b68c08 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -3,6 +3,8 @@ name: Common CI on: workflow_call: inputs: + os: + required: true build_type: required: true type: string @@ -11,12 +13,9 @@ env: jobs: build: - runs-on: ubuntu-latest + name: build-ISSM-${{ inputs.os }}-${{ inputs.build_type}} + runs-on: ${{ inputs.os }} steps: - - run: echo "The job was automatically triggered by a ${{ github.event_name }} event." - - run: echo "This job is now running on a ${{ runner.os }} server hosted by GitHub!" - - run: echo "The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." - - name: Check out repository code uses: actions/checkout@v4 @@ -118,19 +117,32 @@ jobs: compression-level: 1 test: - runs-on: ubuntu-latest + runs-on: ${{ inputs.os }} needs: build strategy: fail-fast: false matrix: test-cases: - - '101:110' - - '201:210' - - '301:310' + - '101:199' + - '201:299' + - '301:399' + - '401:499' + - '501:599' + - '601:699' + - '701:799' + - '801:899' + build-type: + - ${{ inputs.build_type }} + additional: + - ' ' include: - - test-cases: $${{ inputs.build_type == 'codipack' && '3015, 3119, 3480' }} - - test-cases: $${{ inputs.build_type == 'codipack' && '3201:3206' }} - + - build-type: 'codipack' + additional: "'benchmark','all'," + - build-type: 'codipack' + test-cases: '3015, 3119, 3480' + - build-type: 'codipack' + test-cases: '3201:3206' + steps: - name: Download ISSM artifact uses: actions/download-artifact@v4 @@ -163,7 +175,7 @@ jobs: devpath; % Run tests - runme('exclude',[IdFromString('Dakota')],'id',[${{matrix.test-cases}}],'quitonerror',1); + runme('exclude',[IdFromString('Dakota')],${{matrix.additional}} 'id',[${{matrix.test-cases}}],'quitonerror',1); quit(0); EOF cat ${ISSM_DIR}/matlab_ci.m @@ -179,3 +191,4 @@ jobs: LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6:$ISSM_DIR/externalpackages/petsc/install/lib/libmpi.so:$ISSM_DIR/externalpackages/petsc/install/lib/libmpifort.so run-matlab-command "matlab_ci" - run: echo "This job's status is ${{ job.status }}." + diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index 13cc7e75b..490c8459d 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -9,12 +9,15 @@ env: ISSM_DIR: ${{ github.workspace }} jobs: - build-type-matrix: + build-test: strategy: fail-fast: false matrix: + os: [ubuntu-latest] build_type: ['basic', 'codipack'] uses: ./.github/workflows/common-workflow.yml with: + os: ${{ matrix.os }} build_type: ${{ matrix.build_type }} secrets: inherit + name: build-test-${{ matrix.os }}-${{ matrix.build_type }} From bb088f18d9cf8cdcf2dd8ea28fc6aeefe79ba74f Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 18:11:46 -0400 Subject: [PATCH 09/26] add type of input.os --- .github/workflows/common-workflow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 6e9b68c08..e3ee5b4ae 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -5,6 +5,7 @@ on: inputs: os: required: true + type: string build_type: required: true type: string From 1df6ca53bf7146cc86e88572f2a5c2aff13389cc Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 18:48:09 -0400 Subject: [PATCH 10/26] try to cache src/c --- .github/workflows/common-workflow.yml | 31 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index e3ee5b4ae..447cec175 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -27,7 +27,16 @@ jobs: cache-name: cache-triangle-m1qn3-petsc with: path: ${{ env.ISSM_DIR }}/externalpackages/ - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + key: ${{ runner.os }}-build-${{ env.cache-name }} + + - name: Cache src/c + uses: actions/cache@v3 + id: cache-src-c + env: + cache-name: cache-src-c + with: + path: ${{ env.ISSM_DIR }}/src/c/ + key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages if: steps.cache-externalpackages.outputs.cache-hit != 'true' @@ -132,18 +141,17 @@ jobs: - '601:699' - '701:799' - '801:899' - build-type: + - '3015, 3119, 3480, 3201:3206' + build_type: - ${{ inputs.build_type }} additional: - - ' ' - include: - - build-type: 'codipack' + - " " + - "'benchmark','all'," + exclude: + - build-type: 'basic' additional: "'benchmark','all'," - - build-type: 'codipack' - test-cases: '3015, 3119, 3480' - - build-type: 'codipack' - test-cases: '3201:3206' - + - build-type: 'basic' + test-cases: '3015, 3119, 3480, 3201:3206' steps: - name: Download ISSM artifact uses: actions/download-artifact@v4 @@ -190,6 +198,3 @@ jobs: run: | source $ISSM_DIR/etc/environment.sh LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6:$ISSM_DIR/externalpackages/petsc/install/lib/libmpi.so:$ISSM_DIR/externalpackages/petsc/install/lib/libmpifort.so run-matlab-command "matlab_ci" - - - run: echo "This job's status is ${{ job.status }}." - From 63ba0424a2dfff355f9c034632a344c94d33178a Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 19:15:39 -0400 Subject: [PATCH 11/26] fix error in the test job --- .github/workflows/common-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 447cec175..2ad34b336 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -142,7 +142,7 @@ jobs: - '701:799' - '801:899' - '3015, 3119, 3480, 3201:3206' - build_type: + build-type: - ${{ inputs.build_type }} additional: - " " From e253f840f7e7b892527309c8e130e02639efdb70 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 19:23:19 -0400 Subject: [PATCH 12/26] remove cache src/c --- .github/workflows/common-workflow.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 2ad34b336..143eb30b2 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -29,15 +29,6 @@ jobs: path: ${{ env.ISSM_DIR }}/externalpackages/ key: ${{ runner.os }}-build-${{ env.cache-name }} - - name: Cache src/c - uses: actions/cache@v3 - id: cache-src-c - env: - cache-name: cache-src-c - with: - path: ${{ env.ISSM_DIR }}/src/c/ - key: ${{ runner.os }}-build-${{ env.cache-name }} - - name: Install External packages if: steps.cache-externalpackages.outputs.cache-hit != 'true' run: | From 69212ab73b16b03ff89a8de3a504f77b4e2e9fc0 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 19:42:23 -0400 Subject: [PATCH 13/26] try petsc-3.20 for ad --- .github/workflows/common-workflow.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 143eb30b2..dcac9356c 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -22,7 +22,7 @@ jobs: - name: Cache externalpackages uses: actions/cache@v3 - id: cache-externalpackages + id: cache-externalpackages-${{ inputs.build_type }} env: cache-name: cache-triangle-m1qn3-petsc with: @@ -30,17 +30,19 @@ jobs: key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages - if: steps.cache-externalpackages.outputs.cache-hit != 'true' + if: steps.cache-externalpackages-basic.outputs.cache-hit != 'true' run: | cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.21-linux.sh - - name: Install Codipack - if: ${{ inputs.build_type == 'codipack'}} + - name: Install External packages for AD + if: steps.cache-externalpackages-codipack.outputs.cache-hit != 'true' run: | source $ISSM_DIR/etc/environment.sh - cd $ISSM_DIR/externalpackages/gsl && ./install.sh + cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh + cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh + cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh cd $ISSM_DIR/externalpackages/codipack && ./install.sh cd $ISSM_DIR/externalpackages/medipack && ./install.sh From b7973ce830db53ed0e11b8dccd23fa984da7f299 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 19:56:33 -0400 Subject: [PATCH 14/26] try to use env to set the id of cache --- .github/workflows/common-workflow.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index dcac9356c..e1258c076 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -11,6 +11,7 @@ on: type: string env: ISSM_DIR: ${{ github.workspace }} + build_type: ${{ inputs.build_type }} jobs: build: @@ -22,12 +23,12 @@ jobs: - name: Cache externalpackages uses: actions/cache@v3 - id: cache-externalpackages-${{ inputs.build_type }} + id: cache-externalpackages-${{ env.build_type }} env: - cache-name: cache-triangle-m1qn3-petsc + cache-name: cache-externalpackages-${{ env.build_type }} with: path: ${{ env.ISSM_DIR }}/externalpackages/ - key: ${{ runner.os }}-build-${{ env.cache-name }} + key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages if: steps.cache-externalpackages-basic.outputs.cache-hit != 'true' From 1e054743746f685e4b81262e937a037a10490126 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 20:08:15 -0400 Subject: [PATCH 15/26] try github.env --- .github/workflows/common-workflow.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index e1258c076..be25c80e7 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -11,7 +11,6 @@ on: type: string env: ISSM_DIR: ${{ github.workspace }} - build_type: ${{ inputs.build_type }} jobs: build: @@ -20,12 +19,15 @@ jobs: steps: - name: Check out repository code uses: actions/checkout@v4 - + - name: Set build type + run: | + echo "build_type=${{inputs.build_type }}" >> "$GITHUB_ENV" + - name: Cache externalpackages uses: actions/cache@v3 - id: cache-externalpackages-${{ env.build_type }} + id: cache-externalpackages-${{ github.env.build_type }} env: - cache-name: cache-externalpackages-${{ env.build_type }} + cache-name: cache-externalpackages-${{ github.env.build_type }} with: path: ${{ env.ISSM_DIR }}/externalpackages/ key: ${{ runner.os }}-build-${{ env.cache-name }} From 18ac8451751216465d4ef6af6ac54cae3398ac31 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 20:13:15 -0400 Subject: [PATCH 16/26] try to fix bugs when using inputs in cache id --- .github/workflows/common-workflow.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index be25c80e7..94e9e9339 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -19,28 +19,25 @@ jobs: steps: - name: Check out repository code uses: actions/checkout@v4 - - name: Set build type - run: | - echo "build_type=${{inputs.build_type }}" >> "$GITHUB_ENV" - name: Cache externalpackages uses: actions/cache@v3 - id: cache-externalpackages-${{ github.env.build_type }} + id: cache-externalpackages env: - cache-name: cache-externalpackages-${{ github.env.build_type }} + cache-name: cache-externalpackages-${{ inputs.build_type }} with: path: ${{ env.ISSM_DIR }}/externalpackages/ key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages - if: steps.cache-externalpackages-basic.outputs.cache-hit != 'true' + if: ${{ inputs.build_type }} == 'basic' && steps.cache-externalpackages.outputs.cache-hit != 'true' run: | cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.21-linux.sh - name: Install External packages for AD - if: steps.cache-externalpackages-codipack.outputs.cache-hit != 'true' + if: ${{ inputs.build_type }} == 'codipack' && steps.cache-externalpackages.outputs.cache-hit != 'true' run: | source $ISSM_DIR/etc/environment.sh cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh From 1f4a9f4202ed2215994aec5d9031986578cd2ebe Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 20:35:03 -0400 Subject: [PATCH 17/26] fix bug in the if condition --- .github/workflows/common-workflow.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 94e9e9339..c322571d9 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -30,16 +30,15 @@ jobs: key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages - if: ${{ inputs.build_type }} == 'basic' && steps.cache-externalpackages.outputs.cache-hit != 'true' + if: ${{ ( inputs.build_type == 'basic') && (steps.cache-externalpackages.outputs.cache-hit != 'true') }} run: | cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.21-linux.sh - name: Install External packages for AD - if: ${{ inputs.build_type }} == 'codipack' && steps.cache-externalpackages.outputs.cache-hit != 'true' + if: ${{ ( inputs.build_type == 'codipack') && (steps.cache-externalpackages.outputs.cache-hit != 'true') }} run: | - source $ISSM_DIR/etc/environment.sh cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh From fae90a5aa295acd3c40971f52def7bdd90133055 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 21:00:21 -0400 Subject: [PATCH 18/26] fix codipack --- .github/workflows/common-workflow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index c322571d9..6a41173e8 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -42,6 +42,7 @@ jobs: cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh + cd $ISSM_DIR/externalpackages/gsl && ./install.sh cd $ISSM_DIR/externalpackages/codipack && ./install.sh cd $ISSM_DIR/externalpackages/medipack && ./install.sh From 66e4f82a89b9cc177b062e2963495eeee8e4e3cf Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 21 Jul 2024 21:26:28 -0400 Subject: [PATCH 19/26] try ad again --- .github/workflows/common-workflow.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 6a41173e8..6b3b16d7c 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -39,12 +39,14 @@ jobs: - name: Install External packages for AD if: ${{ ( inputs.build_type == 'codipack') && (steps.cache-externalpackages.outputs.cache-hit != 'true') }} run: | - cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh - cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh - cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh - cd $ISSM_DIR/externalpackages/gsl && ./install.sh - cd $ISSM_DIR/externalpackages/codipack && ./install.sh - cd $ISSM_DIR/externalpackages/medipack && ./install.sh + cd $ISSM_DIR/externalpackages/autotools && ./install-linux.sh + cd $ISSM_DIR/externalpackages/cmake && ./install.sh + cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh + cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh + cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh + cd $ISSM_DIR/externalpackages/gsl && ./install.sh + cd $ISSM_DIR/externalpackages/codipack && ./install.sh + cd $ISSM_DIR/externalpackages/medipack && ./install.sh - name: Get MATLAB id: setup-matlab @@ -76,7 +78,7 @@ jobs: --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" - - name: Reconfigure ISSM without Codipack + - name: Reconfigure ISSM with Codipack if: ${{ inputs.build_type == 'codipack'}} run: | source $ISSM_DIR/etc/environment.sh From b35a1143c5d4abdc1675f9528d3b28adb95e02a7 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 08:30:28 -0400 Subject: [PATCH 20/26] remove with-petsc in codipack --- .github/workflows/common-workflow.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 6b3b16d7c..97b3aabeb 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -39,8 +39,6 @@ jobs: - name: Install External packages for AD if: ${{ ( inputs.build_type == 'codipack') && (steps.cache-externalpackages.outputs.cache-hit != 'true') }} run: | - cd $ISSM_DIR/externalpackages/autotools && ./install-linux.sh - cd $ISSM_DIR/externalpackages/cmake && ./install.sh cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh @@ -96,7 +94,6 @@ jobs: --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort" \ - --with-petsc-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-blas-lapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-metis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-parmetis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ From 4671a46a9734cf69fa2160dd19d0de4d0d5c8378 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 09:36:53 -0400 Subject: [PATCH 21/26] reduce matrix size for tests --- .github/workflows/common-workflow.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 97b3aabeb..b2cfd077e 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -106,7 +106,7 @@ jobs: --with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install" - name: Compile ISSM - run: make -j16 install + run: make -j8 install - name: Compress ISSM artifact run: tar -cvf ISSM_artifact-${{ inputs.build_type}}.tar -C ${{ env.ISSM_DIR }}/ . @@ -125,14 +125,8 @@ jobs: fail-fast: false matrix: test-cases: - - '101:199' - - '201:299' - - '301:399' - - '401:499' - - '501:599' - - '601:699' - - '701:799' - - '801:899' + - '101:499' + - '501:899' - '3015, 3119, 3480, 3201:3206' build-type: - ${{ inputs.build_type }} @@ -142,6 +136,8 @@ jobs: exclude: - build-type: 'basic' additional: "'benchmark','all'," + - build-type: 'codipack' + additional: " " - build-type: 'basic' test-cases: '3015, 3119, 3480, 3201:3206' steps: From 5ccd274e2d10270711e0174b6f46afc8c41de093 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 11:42:25 -0400 Subject: [PATCH 22/26] check spaces --- .github/workflows/common-workflow.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index b2cfd077e..bc1759824 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -35,6 +35,7 @@ jobs: cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.21-linux.sh + cd $ISSM_DIR/externalpackages/semic && ./install.sh - name: Install External packages for AD if: ${{ ( inputs.build_type == 'codipack') && (steps.cache-externalpackages.outputs.cache-hit != 'true') }} @@ -117,7 +118,11 @@ jobs: name: ISSM-${{ runner.os }}-${{ inputs.build_type}} path: ISSM_artifact-${{ inputs.build_type}}.tar compression-level: 1 - + + - name: check free space + run: | + echo "Free space:" + df -h test: runs-on: ${{ inputs.os }} needs: build @@ -147,6 +152,11 @@ jobs: name: ISSM-${{ runner.os }}-${{ inputs.build_type}} path: ${{ env.ISSM_DIR }} + - name: check free space + run: | + echo "Free space:" + df -h + - name: uncompress ISSM artifact run: | tar -xvf ISSM_artifact-${{ inputs.build_type}}.tar From 3f44b86ae2b877aae923aca67a74391ca2b00cfc Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 12:48:38 -0400 Subject: [PATCH 23/26] turn off codipack tests --- .github/workflows/common-workflow.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index bc1759824..da1dd7a57 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -118,11 +118,12 @@ jobs: name: ISSM-${{ runner.os }}-${{ inputs.build_type}} path: ISSM_artifact-${{ inputs.build_type}}.tar compression-level: 1 - + - name: check free space run: | echo "Free space:" - df -h + du -sh ${{ env.ISSM_DIR }}/* + test: runs-on: ${{ inputs.os }} needs: build @@ -145,6 +146,7 @@ jobs: additional: " " - build-type: 'basic' test-cases: '3015, 3119, 3480, 3201:3206' + - build-type: 'codipack' steps: - name: Download ISSM artifact uses: actions/download-artifact@v4 @@ -152,11 +154,6 @@ jobs: name: ISSM-${{ runner.os }}-${{ inputs.build_type}} path: ${{ env.ISSM_DIR }} - - name: check free space - run: | - echo "Free space:" - df -h - - name: uncompress ISSM artifact run: | tar -xvf ISSM_artifact-${{ inputs.build_type}}.tar From 38f993e2a8cefeab175d9928d0ef36e6e13bc0a0 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 13:17:11 -0400 Subject: [PATCH 24/26] do not compress petsc/src/ to decrease the size of the artifact --- .github/workflows/common-workflow.yml | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index da1dd7a57..4bb9a0cc2 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -26,7 +26,9 @@ jobs: env: cache-name: cache-externalpackages-${{ inputs.build_type }} with: - path: ${{ env.ISSM_DIR }}/externalpackages/ + path: | + ${{ env.ISSM_DIR }}/externalpackages/ + ! ${{ env.ISSM_DIR }}/externalpackages/petsc/src/ key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages @@ -43,7 +45,6 @@ jobs: cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh - cd $ISSM_DIR/externalpackages/gsl && ./install.sh cd $ISSM_DIR/externalpackages/codipack && ./install.sh cd $ISSM_DIR/externalpackages/medipack && ./install.sh @@ -75,6 +76,7 @@ jobs: --with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ + --with-semic-dir="${ISSM_DIR}/externalpackages/semic/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" - name: Reconfigure ISSM with Codipack @@ -102,28 +104,21 @@ jobs: --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \ - --with-gsl-dir=${ISSM_DIR}/externalpackages/gsl/install \ --with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \ --with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install" - name: Compile ISSM - run: make -j8 install + run: make -j4 install - name: Compress ISSM artifact - run: tar -cvf ISSM_artifact-${{ inputs.build_type}}.tar -C ${{ env.ISSM_DIR }}/ . + run: tar --exclude='${{ env.ISSM_DIR }}/externalpackages/petsc/src/' -cvf ISSM_artifact-${{ inputs.build_type}}.tar -C ${{ env.ISSM_DIR }}/ . - name: Upload ISSM artifact uses: actions/upload-artifact@v4 with: name: ISSM-${{ runner.os }}-${{ inputs.build_type}} path: ISSM_artifact-${{ inputs.build_type}}.tar - compression-level: 1 - - - name: check free space - run: | - echo "Free space:" - du -sh ${{ env.ISSM_DIR }}/* - + compression-level: 1 test: runs-on: ${{ inputs.os }} needs: build @@ -146,7 +141,6 @@ jobs: additional: " " - build-type: 'basic' test-cases: '3015, 3119, 3480, 3201:3206' - - build-type: 'codipack' steps: - name: Download ISSM artifact uses: actions/download-artifact@v4 From 29dbe16eab25d7651b7537e6a89b5e3aaf3df722 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 13:45:25 -0400 Subject: [PATCH 25/26] try to exclude petsc/src --- .github/workflows/common-workflow.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 4bb9a0cc2..90322a4f9 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -28,7 +28,7 @@ jobs: with: path: | ${{ env.ISSM_DIR }}/externalpackages/ - ! ${{ env.ISSM_DIR }}/externalpackages/petsc/src/ + !${{ env.ISSM_DIR }}/externalpackages/petsc/src/ key: ${{ runner.os }}-build-${{ env.cache-name }} - name: Install External packages @@ -111,7 +111,7 @@ jobs: run: make -j4 install - name: Compress ISSM artifact - run: tar --exclude='${{ env.ISSM_DIR }}/externalpackages/petsc/src/' -cvf ISSM_artifact-${{ inputs.build_type}}.tar -C ${{ env.ISSM_DIR }}/ . + run: tar --exclude='./externalpackages/petsc/src' -cvf ISSM_artifact-${{ inputs.build_type}}.tar -C ${{ env.ISSM_DIR }}/ . - name: Upload ISSM artifact uses: actions/upload-artifact@v4 @@ -126,8 +126,8 @@ jobs: fail-fast: false matrix: test-cases: - - '101:499' - - '501:899' + - '101:399' + - '401:899' - '3015, 3119, 3480, 3201:3206' build-type: - ${{ inputs.build_type }} From 8bb700f3bd45f24493c6e52b44ea4cd11d33c056 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Mon, 22 Jul 2024 14:22:49 -0400 Subject: [PATCH 26/26] add gsl to codipack version --- .github/workflows/common-workflow.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 90322a4f9..239a9036f 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -45,6 +45,7 @@ jobs: cd $ISSM_DIR/externalpackages/triangle && ./install-linux.sh cd $ISSM_DIR/externalpackages/m1qn3 && ./install-linux.sh cd $ISSM_DIR/externalpackages/petsc && ./install-3.20-linux.sh + cd $ISSM_DIR/externalpackages/gsl && ./install.sh cd $ISSM_DIR/externalpackages/codipack && ./install.sh cd $ISSM_DIR/externalpackages/medipack && ./install.sh @@ -103,6 +104,7 @@ jobs: --with-scalapack-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-mumps-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ + --with-gsl-dir="${ISSM_DIR}/externalpackages/gsl/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \ --with-medipack-dir="${ISSM_DIR}/externalpackages/medipack/install" \ --with-codipack-dir="${ISSM_DIR}/externalpackages/codipack/install" @@ -137,10 +139,15 @@ jobs: exclude: - build-type: 'basic' additional: "'benchmark','all'," - - build-type: 'codipack' - additional: " " - build-type: 'basic' test-cases: '3015, 3119, 3480, 3201:3206' + - build-type: 'codipack' + additional: " " + - build-type: 'codipack' + test-cases: '101:399' + - build-type: 'codipack' + test-cases: '401:899' + steps: - name: Download ISSM artifact uses: actions/download-artifact@v4