From 9847b590f0c0423fcc3bef68fb7e4e695f61d19c Mon Sep 17 00:00:00 2001 From: Thilina Ratnayaka Date: Mon, 20 Apr 2026 19:50:51 +0000 Subject: [PATCH 1/6] Run unit tests on GitHub CI runners --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b29930aa..48b5eabf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,7 @@ env: SPACK_OPT: "--concurrent-packages 2 --show-log-on-error --fail-fast" CACHE_DIR: "${{ github.workspace }}/thapi_cache_${{ github.run_id }}" CACHE_DIR_LEGACY: "${{ github.workspace }}/thapi_cache_legacy_${{ github.run_id }}" + TEST_EXCLUSIONS: "--filter-tags '!todo'" jobs: install_legacy_dependencies: runs-on: ubuntu-latest @@ -146,6 +147,25 @@ jobs: # (Building thapi@develop with unstable lttng@master versions). . external/spack/share/spack/setup-env.sh spack install $SPACK_OPT ${{ matrix.version }} ^llvm@${LLVM_FULL_VER} || true + - name: Install dependencies for unit tests + if: ${{ matrix.version != 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master' }} + run: | + sudo apt update + sudo apt install -y bats + sudo apt install -y clinfo + sudo apt install -y openmpi-bin libopenmpi-dev + - name: Run unit tests + if: ${{ matrix.version != 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master' }} + run: | + . external/spack/share/spack/setup-env.sh + spack load ${{ matrix.version }} + + git clone --depth 1 https://github.com/argonne-lcf/THAPI.git -b devel + cd ./THAPI + + # Run tests twice to make sure we do proper cleanup: + bats ${EXCLUSIONS} ./integration_tests/ + bats ${EXCLUSIONS} ./integration_tests/ - name: Block to allow inspecting failures run: sleep 120m if: ${{ failure() && inputs.debug_enabled }} From 10cd6d3ceae3e2952e643f0519c0b99f00485ba0 Mon Sep 17 00:00:00 2001 From: Thilina Ratnayaka Date: Wed, 22 Apr 2026 16:04:33 +0000 Subject: [PATCH 2/6] Install ittapi and py-ittapi --- .github/workflows/ci.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48b5eabf..499b0e09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -150,15 +150,18 @@ jobs: - name: Install dependencies for unit tests if: ${{ matrix.version != 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master' }} run: | + # Use apt for some tools sudo apt update - sudo apt install -y bats - sudo apt install -y clinfo - sudo apt install -y openmpi-bin libopenmpi-dev + sudo apt install -y bats clinfo openmpi-bin libopenmpi-dev + + # and install ittapi and py-ittapi from spack + . external/spack/share/spack/setup-env.sh + spack install ittapi py-ittapi - name: Run unit tests if: ${{ matrix.version != 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master' }} run: | . external/spack/share/spack/setup-env.sh - spack load ${{ matrix.version }} + spack load ${{ matrix.version }} ittapi py-ittapi git clone --depth 1 https://github.com/argonne-lcf/THAPI.git -b devel cd ./THAPI From b189d8c64156d439b6533ce6ed66d3309ffc86ea Mon Sep 17 00:00:00 2001 From: Thilina Ratnayaka Date: Wed, 22 Apr 2026 16:56:00 +0000 Subject: [PATCH 3/6] Enable sync-daemon-mpi, fix a typo in exclusions --- .github/workflows/ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 499b0e09..e7a87017 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ env: SPACK_OPT: "--concurrent-packages 2 --show-log-on-error --fail-fast" CACHE_DIR: "${{ github.workspace }}/thapi_cache_${{ github.run_id }}" CACHE_DIR_LEGACY: "${{ github.workspace }}/thapi_cache_legacy_${{ github.run_id }}" - TEST_EXCLUSIONS: "--filter-tags '!todo'" + EXCLUSIONS: '!todo' jobs: install_legacy_dependencies: runs-on: ubuntu-latest @@ -113,7 +113,8 @@ jobs: install: strategy: matrix: - version: ['thapi@0.0.13', 'thapi@master', 'thapi@develop', 'thapi@develop+archive', + version: ['thapi@0.0.13+sync-daemon-mpi', 'thapi@master+sync-daemon-mpi', + 'thapi@develop+sync-daemon-mpi', 'thapi@develop+archive+sync-daemon-mpi', 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master'] needs: install_dependencies runs-on: ubuntu-latest @@ -167,8 +168,8 @@ jobs: cd ./THAPI # Run tests twice to make sure we do proper cleanup: - bats ${EXCLUSIONS} ./integration_tests/ - bats ${EXCLUSIONS} ./integration_tests/ + bats --filter-tags ${EXCLUSIONS} ./integration_tests/ + bats --filter-tags ${EXCLUSIONS} ./integration_tests/ - name: Block to allow inspecting failures run: sleep 120m if: ${{ failure() && inputs.debug_enabled }} From 95bed4316885f1d90dc173e01d5b7d3b1e0c84d3 Mon Sep 17 00:00:00 2001 From: Thilina Ratnayaka Date: Wed, 22 Apr 2026 18:23:32 +0000 Subject: [PATCH 4/6] Enable archive --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e7a87017..3a3d6125 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -114,7 +114,7 @@ jobs: strategy: matrix: version: ['thapi@0.0.13+sync-daemon-mpi', 'thapi@master+sync-daemon-mpi', - 'thapi@develop+sync-daemon-mpi', 'thapi@develop+archive+sync-daemon-mpi', + 'thapi@develop+sync-daemon-mpi', 'thapi@develop+sync-daemon-mpi+archive', 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master'] needs: install_dependencies runs-on: ubuntu-latest @@ -149,7 +149,7 @@ jobs: . external/spack/share/spack/setup-env.sh spack install $SPACK_OPT ${{ matrix.version }} ^llvm@${LLVM_FULL_VER} || true - name: Install dependencies for unit tests - if: ${{ matrix.version != 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master' }} + if: ${{ matrix.version == 'thapi@develop+sync-daemon-mpi+archive' }} run: | # Use apt for some tools sudo apt update @@ -159,7 +159,7 @@ jobs: . external/spack/share/spack/setup-env.sh spack install ittapi py-ittapi - name: Run unit tests - if: ${{ matrix.version != 'thapi@develop ^lttng-tools@master ^lttng-ust@master ^babeltrace2@master' }} + if: ${{ matrix.version == 'thapi@develop+sync-daemon-mpi+archive' }} run: | . external/spack/share/spack/setup-env.sh spack load ${{ matrix.version }} ittapi py-ittapi From 993a58044003015d8bda96e0742cddedcdc7efee Mon Sep 17 00:00:00 2001 From: Thilina Ratnayaka Date: Thu, 16 Jul 2026 19:01:59 -0500 Subject: [PATCH 5/6] Cleanup --- .github/workflows/cron.yml | 2 +- .github/workflows/lint.yml | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 831e5ab1..10899eef 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -1,4 +1,4 @@ -name: Install Thapi master and develop every week +name: THAPI@master and THAPI@develop weekly build on: schedule: # At 00:00 on Sunday.” diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 1e3b88a7..16492fc7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -7,13 +7,6 @@ on: branches: - main workflow_dispatch: - inputs: - debug_enabled: - type: boolean - description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' - required: false - default: false - jobs: ruff_format: runs-on: ubuntu-latest From 1870eb203fda56f570cf1b202fec55af8290a4ca Mon Sep 17 00:00:00 2001 From: Thilina Ratnayaka Date: Thu, 16 Jul 2026 19:35:01 -0500 Subject: [PATCH 6/6] Only find llvm as an external package --- .github/actions/setup-thapi-deps/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/setup-thapi-deps/action.yml b/.github/actions/setup-thapi-deps/action.yml index 70fb17b4..e9e4b546 100644 --- a/.github/actions/setup-thapi-deps/action.yml +++ b/.github/actions/setup-thapi-deps/action.yml @@ -31,7 +31,6 @@ runs: # they cause build failures in elfutils). . external/spack/share/spack/setup-env.sh spack compiler find - spack external find --all --exclude bzip2 --exclude xz - name: Setup spack mirror shell: bash run: | @@ -66,7 +65,7 @@ runs: # Let spack find newly installed llvm/clang. spack compiler find - spack external find --all --exclude bzip2 --exclude xz + spack external find llvm LLVM_FULL_VER=`llvm-config-${LLVM_VER} --version` echo "LLVM_FULL_VER=${LLVM_FULL_VER}" >> ${GITHUB_ENV}