From 6a4aa14fb1ac6d2eac6f49373f0bf5a81d2dcc8f Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 09:52:14 +0100 Subject: [PATCH 01/16] spack ci tests --- .github/workflows/spack.yml | 87 +++++++++++++++++++++++++++++-------- 1 file changed, 70 insertions(+), 17 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 68ecbcd..3b5749c 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -8,35 +8,88 @@ on: jobs: test-spack: - runs-on: ubuntu-latest - container: boeschf/ghex-org + runs-on: ubuntu-22.04 + defaults: run: shell: bash + + strategy: + matrix: + config: + - { + backend: 'mpi', + } + - { + backend: 'ucx', + } + + spack-version: ['develop'] + + micro-arch: ['x86_64_v3'] + + fail-fast: false + env: + SHLVL: "1" + OMPI_ALLOW_RUN_AS_ROOT: "1" + OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: "1" + SPACK_DISABLE_LOCAL_CONFIG: "true" + SPACK_USER_CACHE_PATH: "/tmp/spack" + steps: - - name: install-ghex-org-packages + + - name: install additional ubuntu packages run: | - mkdir /repos - git clone https://github.com/ghex-org/spack-repos.git /repos - . /opt/spack/share/spack/setup-env-clean.sh - spack repo add /repos - - name: Checkout - uses: actions/checkout@v3 + sudo apt-get update -qq + sudo apt-get install -y gfortran libblas-dev + + - name: checkout + uses: actions/checkout@v4 with: path: oomph - # export OpenMPI environment variables: allow to run as root - - name: set env + + - name: clone ghex spack repo + run: | + git clone --depth=1 --branch add_ghex https://github.com/ghex-org/spack-repos.git repos + + - name: clone spack + run: | + git clone -c feature.manyFiles=true --depth 1 \ + --branch ${{ matrix.spack-version }} \ + https://github.com/spack/spack.git \ + spack + + - name: initialize spack and add online buildcache run: | - echo "OMPI_ALLOW_RUN_AS_ROOT=1" >> $GITHUB_ENV - echo "OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1" >> $GITHUB_ENV + cat < spack/etc/spack/config.yaml + config: + install_tree: + padded_length: 128 + build_jobs: 4 + EOF + + cat < spack/etc/spack/packages.yaml + packages: + all: + require: + - 'target=${{ matrix.micro-arch }}' + - '%gcc' + EOF + + source spack/share/spack/setup-env.sh + spack compiler find + spack mirror add --unsigned local-buildcache oci://ghcr.io/boeschf/spack-buildcache + spack repo add repos + spack reindex + - name: build-and-test run: | - cd oomph - . /opt/spack/share/spack/setup-env-clean.sh - spack spec -I --reuse oomph + source spack/share/spack/setup-env.sh + # print dependencies + spack spec -I --reuse oomph@develop backend=${{ matrix.config.backend }} # dev-build does not respect test dependencies - workaround spack install --reuse googletest spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate spack dev-build --test=root --dirty --reuse oomph@develop - cat install-time-test-log.txt + spack dev-build --dirty --reuse --source-path oomph oomph@develop backend=${{ matrix.config.backend }} From 8040287a4499a1141ec4ae768ac1924e1c7f877c Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 09:53:22 +0100 Subject: [PATCH 02/16] typo --- .github/workflows/spack.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 3b5749c..8fab61c 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -50,7 +50,7 @@ jobs: - name: clone ghex spack repo run: | - git clone --depth=1 --branch add_ghex https://github.com/ghex-org/spack-repos.git repos + git clone --depth=1 https://github.com/ghex-org/spack-repos.git repos - name: clone spack run: | From 6fbfd71e14b22864219aa3c4b8cabee2a8a92618 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:05:04 +0100 Subject: [PATCH 03/16] typo --- .github/workflows/spack.yml | 17 +++++++---------- test/CMakeLists.txt | 1 + 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 8fab61c..6da4dd9 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -41,7 +41,7 @@ jobs: - name: install additional ubuntu packages run: | sudo apt-get update -qq - sudo apt-get install -y gfortran libblas-dev + sudo apt-get install -y gfortran - name: checkout uses: actions/checkout@v4 @@ -49,15 +49,11 @@ jobs: path: oomph - name: clone ghex spack repo - run: | - git clone --depth=1 https://github.com/ghex-org/spack-repos.git repos + run: git clone --depth=1 https://github.com/ghex-org/spack-repos.git repos - name: clone spack - run: | - git clone -c feature.manyFiles=true --depth 1 \ - --branch ${{ matrix.spack-version }} \ - https://github.com/spack/spack.git \ - spack + run: git clone -c feature.manyFiles=true --depth 1 --branch ${{ matrix.spack-version }} \ + https://github.com/spack/spack.git spack - name: initialize spack and add online buildcache run: | @@ -91,5 +87,6 @@ jobs: spack install --reuse googletest spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate - spack dev-build --test=root --dirty --reuse oomph@develop - spack dev-build --dirty --reuse --source-path oomph oomph@develop backend=${{ matrix.config.backend }} + cd oomph + spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} + cat install-time-test-log.txt diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 5217bba..18a69f7 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -48,6 +48,7 @@ function(reg_serial_test t) add_test( NAME ${t} COMMAND $) + set_tests_properties(${t} PROPERTIES RUN_SERIAL ON) endfunction() foreach(t ${serial_tests}) From ad7ec96a8cfb8add4f937a83f1445618e70824ac Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:06:31 +0100 Subject: [PATCH 04/16] typo --- .github/workflows/spack.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 6da4dd9..13ab2d1 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -52,8 +52,7 @@ jobs: run: git clone --depth=1 https://github.com/ghex-org/spack-repos.git repos - name: clone spack - run: git clone -c feature.manyFiles=true --depth 1 --branch ${{ matrix.spack-version }} \ - https://github.com/spack/spack.git spack + run: git clone -c feature.manyFiles=true --depth 1 --branch ${{ matrix.spack-version }} https://github.com/spack/spack.git spack - name: initialize spack and add online buildcache run: | From 520c7a2869146f3a9e78fafd0fdcd0800f6fa46b Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:18:14 +0100 Subject: [PATCH 05/16] typo --- .github/workflows/spack.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 13ab2d1..7eff047 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -88,4 +88,5 @@ jobs: # need `--dirty` here for environment variables and googletest test dependency to propagate cd oomph spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} - cat install-time-test-log.txt + #cat install-time-test-log.txt + ls -alrth From 60690ffab314a3cd1c26e87fb7c1da1f99f0b7dd Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:23:14 +0100 Subject: [PATCH 06/16] inspect --- .github/workflows/spack.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 7eff047..24bd9b3 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -90,3 +90,4 @@ jobs: spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt ls -alrth + ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From df0e8c5e47a8eb980489fd592270e1902d513358 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:28:23 +0100 Subject: [PATCH 07/16] inspect --- .github/workflows/spack.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 24bd9b3..2d80875 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -89,5 +89,10 @@ jobs: cd oomph spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt - ls -alrth - ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ + ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ + #ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ + + #- name: print logs + # if: always() + # run: | + # cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From 3c0c1e7b130d93acc68d937fb0d55c1bc563cfab Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:34:35 +0100 Subject: [PATCH 08/16] inspect --- .github/workflows/spack.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 2d80875..2770ab3 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -89,10 +89,12 @@ jobs: cd oomph spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt - ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ + ls -alrth + #ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ #ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ - #- name: print logs - # if: always() - # run: | - # cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ + - name: print logs + if: always() + run: | + ls -alrth tmp + #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From 3e3aa85ca80815e64ece547452f125548bfbca4e Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:46:16 +0100 Subject: [PATCH 09/16] inspect --- .github/workflows/spack.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 2770ab3..bc3804d 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -90,11 +90,12 @@ jobs: spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt ls -alrth + ls -alrth build-* #ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ #ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ - - name: print logs - if: always() - run: | - ls -alrth tmp - #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ + #- name: print logs + # if: always() + # run: | + # ls -alrth tmp + # #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From 0d624ec2db6563d62fe0ff161a198e72e401e842 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:01:56 +0100 Subject: [PATCH 10/16] inspect --- .github/workflows/spack.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index bc3804d..93d3d42 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -89,13 +89,16 @@ jobs: cd oomph spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt + pwd ls -alrth - ls -alrth build-* + ls build-* + find . -maxdepth 1 -type l -ls #ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ #ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ #- name: print logs # if: always() # run: | + # ls -alrth oomph/build-*/ # ls -alrth tmp # #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From eb30fab6fbce681e90f2a98960a85b49218c1feb Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:13:01 +0100 Subject: [PATCH 11/16] inspect --- .github/workflows/spack.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 93d3d42..fb95bd1 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -87,7 +87,7 @@ jobs: spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate cd oomph - spack dev-build --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} + spack dev-build --test=root --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt pwd ls -alrth From cbfb111ec4e811d91da3e649e0a896f85a1aeec2 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:32:10 +0100 Subject: [PATCH 12/16] inspect --- .github/workflows/spack.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index fb95bd1..1a87d63 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -86,6 +86,7 @@ jobs: spack install --reuse googletest spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate + pwd cd oomph spack dev-build --test=root --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} #cat install-time-test-log.txt @@ -96,9 +97,11 @@ jobs: #ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ #ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ - #- name: print logs - # if: always() - # run: | + - name: print logs + if: always() + run: | + pwd + ls -alrth # ls -alrth oomph/build-*/ # ls -alrth tmp # #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From f79843f2a55c25229271bb2660fc90dcb8e27a9d Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:41:04 +0100 Subject: [PATCH 13/16] inspect --- .github/workflows/spack.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 1a87d63..fd1fc23 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -102,6 +102,12 @@ jobs: run: | pwd ls -alrth + cd .. + pwd + ls -alrth + cd .. + pwd + ls -alrth # ls -alrth oomph/build-*/ # ls -alrth tmp # #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ From b0f5001b9692f4fa89cb02fa454bd7431b3f39e2 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:53:44 +0100 Subject: [PATCH 14/16] inspect --- .github/workflows/spack.yml | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index fd1fc23..21fad83 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -86,28 +86,7 @@ jobs: spack install --reuse googletest spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate - pwd - cd oomph - spack dev-build --test=root --dirty --reuse oomph@develop backend=${{ matrix.config.backend }} - #cat install-time-test-log.txt - pwd - ls -alrth - ls build-* - find . -maxdepth 1 -type l -ls - #ls -alrth build-linux-ubuntu22.04-x86_64_v3-*/ - #ls -alrth /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ - - - name: print logs - if: always() - run: | - pwd + spack dev-build --test=root --dirty --reuse --source-path oomph oomph@develop backend=${{ matrix.config.backend }} ls -alrth - cd .. - pwd - ls -alrth - cd .. - pwd - ls -alrth - # ls -alrth oomph/build-*/ - # ls -alrth tmp - # #cat /tmp/runner/spack-stage/spack-stage-oomph-develop-*/ + ls -alrth oomph + #cat install-time-test-log.txt From fab46c78ac0e75fb3f0cd14445e17d24e261c559 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:59:38 +0100 Subject: [PATCH 15/16] cleanup --- .github/workflows/spack.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index 21fad83..d6fa4d9 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -87,6 +87,3 @@ jobs: spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate spack dev-build --test=root --dirty --reuse --source-path oomph oomph@develop backend=${{ matrix.config.backend }} - ls -alrth - ls -alrth oomph - #cat install-time-test-log.txt From 922ac3ca0066d42ea538e45b15da718391755081 Mon Sep 17 00:00:00 2001 From: boeschf <48126478+boeschf@users.noreply.github.com> Date: Mon, 29 Apr 2024 11:37:56 +0200 Subject: [PATCH 16/16] unbuntu version, push packages --- .github/workflows/spack.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/spack.yml b/.github/workflows/spack.yml index d6fa4d9..80d0552 100644 --- a/.github/workflows/spack.yml +++ b/.github/workflows/spack.yml @@ -8,7 +8,7 @@ on: jobs: test-spack: - runs-on: ubuntu-22.04 + runs-on: ubuntu-${{ matrix.ubuntu-version }} defaults: run: @@ -24,8 +24,8 @@ jobs: backend: 'ucx', } + ubuntu-version: ['22.04'] spack-version: ['develop'] - micro-arch: ['x86_64_v3'] fail-fast: false @@ -87,3 +87,10 @@ jobs: spack load googletest # need `--dirty` here for environment variables and googletest test dependency to propagate spack dev-build --test=root --dirty --reuse --source-path oomph oomph@develop backend=${{ matrix.config.backend }} + + - name: Push packages and update index + continue-on-error: true + run: | + source spack/share/spack/setup-env.sh + spack mirror set --push --oci-username ${{ github.actor }} --oci-password "${{ secrets.GITHUB_TOKEN }}" local-buildcache + spack buildcache push --base-image ubuntu:${{ matrix.ubuntu-version }} --unsigned --update-index --only dependencies local-buildcache oomph@develop