From 403266a6dcf8bec45c07e14b16f25b0efe865d49 Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 4 Dec 2023 11:43:39 -0700 Subject: [PATCH 01/12] Add .github/workflows/ to "build everything" logic --- commonTools/framework/ProjectCiFileChangeLogic.py | 6 ++++++ commonTools/framework/ProjectCiFileChangeLogic_UnitTests.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/commonTools/framework/ProjectCiFileChangeLogic.py b/commonTools/framework/ProjectCiFileChangeLogic.py index 04359219583a..2d38575c8f1f 100644 --- a/commonTools/framework/ProjectCiFileChangeLogic.py +++ b/commonTools/framework/ProjectCiFileChangeLogic.py @@ -85,6 +85,12 @@ def isGlobalBuildFileRequiringGlobalRebuild(self, modifiedFileFullPath): # Changes under packages/framework/ likely impact the GenConfig PR build # configurations and therefore to be safe, everything needs to be tested. return True + elif lenPathArray >= 2 and modifiedFileFullPathArray[0] == '.github' and \ + modifiedFileFullPathArray[1] == 'workflows' \ + : + # Changes under .github/workflows/ impact CI-type runs on GitHub Actions + # and therefore to be safe, everything needs to be tested. + return True # Any other files not already covered above should *not* trigger a global # build return False diff --git a/commonTools/framework/ProjectCiFileChangeLogic_UnitTests.py b/commonTools/framework/ProjectCiFileChangeLogic_UnitTests.py index a3c0a15e547d..2a81ea5dc031 100644 --- a/commonTools/framework/ProjectCiFileChangeLogic_UnitTests.py +++ b/commonTools/framework/ProjectCiFileChangeLogic_UnitTests.py @@ -116,6 +116,9 @@ def test_packages_something(self): def test_packages_framework(self): self.check('packages/framework/something', True) + def test_dotgithub_workflows(self): + self.check('.github/workflows/something', True) + if __name__ == '__main__': unittest.main() From 1362711c923bf14f7a453341eea2e5ba5b9b1fe4 Mon Sep 17 00:00:00 2001 From: triple3567 Date: Wed, 6 Dec 2023 15:36:15 -0700 Subject: [PATCH 02/12] add AT2 tests --- .../{PR-gcc-openmpi.yml => pr-test-AT2.yml} | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) rename .github/workflows/{PR-gcc-openmpi.yml => pr-test-AT2.yml} (81%) diff --git a/.github/workflows/PR-gcc-openmpi.yml b/.github/workflows/pr-test-AT2.yml similarity index 81% rename from .github/workflows/PR-gcc-openmpi.yml rename to .github/workflows/pr-test-AT2.yml index 2f0b618aebf3..02d6efe8d306 100644 --- a/.github/workflows/PR-gcc-openmpi.yml +++ b/.github/workflows/pr-test-AT2.yml @@ -1,4 +1,4 @@ -name: PR-gcc-openmpi +name: pr-test-AT2 on: pull_request: @@ -12,11 +12,8 @@ on: workflow_dispatch: jobs: - trilogpu02-gcc: - runs-on: [self-hosted, trilogpu02] - container: - image: registry-ex.sandia.gov/trilinos-project/trilinos-containers/rhel8/trilinos-pr-env:gcc-8.5.0 - options: --hostname trilinos-container-gcc-8 + triloamd01-gcc: + runs-on: [self-hosted, triloamd01] steps: - name: env env: @@ -56,7 +53,7 @@ jobs: - name: Generate PR cmake fragment working-directory: /home/Trilinos/build run: | - bash -l -c "source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh rhel8_gcc-openmpi_debug_shared_no-kokkos-arch_no-asan_complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables --cmake-fragment PR-configuration.cmake ${GITHUB_WORKSPACE}" + bash -l -c "source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh rhel8_gcc-openmpi_debug_shared_no-kokkos-arch_no-asan_complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables --force --cmake-fragment PR-configuration.cmake ${GITHUB_WORKSPACE}" - name: Generate enable packages cmake fragment working-directory: /home/Trilinos/build run: | @@ -65,11 +62,6 @@ jobs: working-directory: /home/Trilinos/build run: | bash -l -c "cmake -C PR-configuration.cmake -C package-enables.cmake ${GITHUB_WORKSPACE}" - - name: CMakeCache.txt - if: always() - working-directory: /home/Trilinos/build - run: | - bash -l -c "cat CMakeCache.txt" - name: build trilinos working-directory: /home/Trilinos/build run: bash -l -c "ninja" From de9c3b7baa326a3432d05a26eee0527514266806 Mon Sep 17 00:00:00 2001 From: triple3567 <51243385+triple3567@users.noreply.github.com> Date: Mon, 18 Dec 2023 09:02:28 -0700 Subject: [PATCH 03/12] Update pr-test-AT2.yml --- .github/workflows/pr-test-AT2.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr-test-AT2.yml b/.github/workflows/pr-test-AT2.yml index 02d6efe8d306..4f89816bf350 100644 --- a/.github/workflows/pr-test-AT2.yml +++ b/.github/workflows/pr-test-AT2.yml @@ -14,6 +14,7 @@ on: jobs: triloamd01-gcc: runs-on: [self-hosted, triloamd01] + if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' || (github.event.label.name == 'AT2-Start' && github.event.action == 'labeled') }} steps: - name: env env: From bbfdbf0456aa0786a7281dd40392296bee3558dd Mon Sep 17 00:00:00 2001 From: triple3567 <51243385+triple3567@users.noreply.github.com> Date: Tue, 16 Jan 2024 15:39:46 -0700 Subject: [PATCH 04/12] Update and rename pr-test-AT2.yml to AT2-PR-Tests.yml --- .github/workflows/{pr-test-AT2.yml => AT2-PR-Tests.yml} | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) rename .github/workflows/{pr-test-AT2.yml => AT2-PR-Tests.yml} (92%) diff --git a/.github/workflows/pr-test-AT2.yml b/.github/workflows/AT2-PR-Tests.yml similarity index 92% rename from .github/workflows/pr-test-AT2.yml rename to .github/workflows/AT2-PR-Tests.yml index 4f89816bf350..e78dc2001a6e 100644 --- a/.github/workflows/pr-test-AT2.yml +++ b/.github/workflows/AT2-PR-Tests.yml @@ -1,11 +1,13 @@ -name: pr-test-AT2 +name: PR-gcc-openmpi on: pull_request: types: - - labeled - opened - synchronize + pull_request_review: + types: + - submitted branches: - master - develop @@ -14,7 +16,6 @@ on: jobs: triloamd01-gcc: runs-on: [self-hosted, triloamd01] - if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' || (github.event.label.name == 'AT2-Start' && github.event.action == 'labeled') }} steps: - name: env env: From 24bba8c274441c323cc85b1da0879d08b29d67ae Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 25 Mar 2024 13:35:54 -0600 Subject: [PATCH 05/12] Apply suggestions about restricting runs Save some compute cycles. --- .github/workflows/AT2-PR-Tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/AT2-PR-Tests.yml b/.github/workflows/AT2-PR-Tests.yml index d3c6262bf421..535963934fd0 100644 --- a/.github/workflows/AT2-PR-Tests.yml +++ b/.github/workflows/AT2-PR-Tests.yml @@ -19,6 +19,7 @@ permissions: jobs: triloamd01-gcc: runs-on: [self-hosted, triloamd01] + if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.review.state == 'APPROVED' }} steps: - name: env env: From b766d7ead832b0c4d0773fc25d3b02258aec423e Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 25 Mar 2024 13:45:00 -0600 Subject: [PATCH 06/12] Get GenConfig package for testing --- .github/workflows/AT2-PR-Tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/AT2-PR-Tests.yml b/.github/workflows/AT2-PR-Tests.yml index 535963934fd0..f7da866667bd 100644 --- a/.github/workflows/AT2-PR-Tests.yml +++ b/.github/workflows/AT2-PR-Tests.yml @@ -52,10 +52,10 @@ jobs: git status git branch -vv git branch -a - - name: get dependencies + - name: Get GenConfig working-directory: ./packages/framework run: | - bash -l -c "./get_dependencies.sh --container" + bash -l -c "git clone https://gitlab-ex.sandia.gov/sebrown/GenConfig.git" - name: Generate PR cmake fragment working-directory: /home/Trilinos/build run: | From c5ffd0ddfc8c289654a0a87c30a024013a07ebaf Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 25 Mar 2024 15:55:57 -0600 Subject: [PATCH 07/12] Revert "Get GenConfig package for testing" This reverts commit b766d7ead832b0c4d0773fc25d3b02258aec423e. Added /GenConfig to the container --- .github/workflows/AT2-PR-Tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/AT2-PR-Tests.yml b/.github/workflows/AT2-PR-Tests.yml index f7da866667bd..535963934fd0 100644 --- a/.github/workflows/AT2-PR-Tests.yml +++ b/.github/workflows/AT2-PR-Tests.yml @@ -52,10 +52,10 @@ jobs: git status git branch -vv git branch -a - - name: Get GenConfig + - name: get dependencies working-directory: ./packages/framework run: | - bash -l -c "git clone https://gitlab-ex.sandia.gov/sebrown/GenConfig.git" + bash -l -c "./get_dependencies.sh --container" - name: Generate PR cmake fragment working-directory: /home/Trilinos/build run: | From 6ba897df529aeb51eaad725e68f97b656711a21f Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Wed, 27 Mar 2024 11:55:11 -0600 Subject: [PATCH 08/12] Turn off SuperLUDist for container build --- packages/framework/ini-files/config-specs.ini | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/framework/ini-files/config-specs.ini b/packages/framework/ini-files/config-specs.ini index f86ae8157dff..8fce7dc599fe 100644 --- a/packages/framework/ini-files/config-specs.ini +++ b/packages/framework/ini-files/config-specs.ini @@ -2798,9 +2798,6 @@ opt-set-cmake-var Pliris_vector_random_MPI_3_DISABLE BOO opt-set-cmake-var Pliris_vector_random_MPI_4_DISABLE BOOL : ON opt-set-cmake-var CMAKE_CXX_FLAGS STRING FORCE : -Wall -Wno-clobbered -Wno-vla -Wno-pragmas -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-literal-suffix -Wno-deprecated-declarations -Wno-misleading-indentation -Wno-int-in-bool-context -Wno-maybe-uninitialized -Wno-nonnull-compare -Wno-address -Wno-inline -DTRILINOS_HIDE_DEPRECATED_HEADER_WARNINGS -opt-set-cmake-var TPL_ENABLE_SuperLUDist BOOL FORCE: ON - - use GCC_PACKAGE_SPECIFIC_WARNING_FLAGS use RHEL8_POST From 47bf9bd194decf9f7a7ea077d13eb20b2ef895d9 Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Wed, 27 Mar 2024 14:25:17 -0600 Subject: [PATCH 09/12] Disable failing Zoltan test Suspect parmetis issues.... --- packages/framework/ini-files/config-specs.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/framework/ini-files/config-specs.ini b/packages/framework/ini-files/config-specs.ini index 211bce8d041e..62567a188c3f 100644 --- a/packages/framework/ini-files/config-specs.ini +++ b/packages/framework/ini-files/config-specs.ini @@ -2816,6 +2816,7 @@ opt-set-cmake-var ROL_example_PDE-OPT_navier-stokes_example_01_MPI_4_DISABLE opt-set-cmake-var Pliris_vector_random_MPI_3_DISABLE BOOL : ON opt-set-cmake-var Pliris_vector_random_MPI_4_DISABLE BOOL : ON +opt-set-cmake-var Zoltan_ch_7944_parmetis_parallel_DISABLE BOOL : ON opt-set-cmake-var Zoltan_ch_simple_parmetis_parallel_DISABLE BOOL : ON opt-set-cmake-var Belos_bl_gmres_complex_hb_3_MPI_4_DISABLE BOOL : ON opt-set-cmake-var Belos_hybrid_gmres_complex_hb_0_MPI_4_DISABLE BOOL : ON From 31a6d4e73f2cd78641725a65da0a5acafd69835f Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 1 Apr 2024 07:26:44 -0600 Subject: [PATCH 10/12] Update and rename AT2-PR-Tests.yml to AT2.yml Rename jobs to indicate experimental nature of AT2 at the moment. --- .github/workflows/{AT2-PR-Tests.yml => AT2.yml} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename .github/workflows/{AT2-PR-Tests.yml => AT2.yml} (96%) diff --git a/.github/workflows/AT2-PR-Tests.yml b/.github/workflows/AT2.yml similarity index 96% rename from .github/workflows/AT2-PR-Tests.yml rename to .github/workflows/AT2.yml index 535963934fd0..2ecde2de84b8 100644 --- a/.github/workflows/AT2-PR-Tests.yml +++ b/.github/workflows/AT2.yml @@ -1,4 +1,4 @@ -name: PR-gcc-openmpi +name: AT2-EXPERIMENTAL on: pull_request: @@ -17,7 +17,7 @@ permissions: contents: read jobs: - triloamd01-gcc: + gcc10-openmpi416-EXPERIMENTAL: runs-on: [self-hosted, triloamd01] if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.review.state == 'APPROVED' }} steps: @@ -70,7 +70,7 @@ jobs: bash -l -c "cmake -C PR-configuration.cmake -C package-enables.cmake ${GITHUB_WORKSPACE}" - name: build trilinos working-directory: /home/Trilinos/build - run: bash -l -c "ninja" + run: bash -l -c "ninja -j36" - name: ctest working-directory: /home/Trilinos/build run: bash -l -c "ctest -j36" From c0f267f22465d90c00c168eafe272027d5d2c0e7 Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 1 Apr 2024 07:28:33 -0600 Subject: [PATCH 11/12] Update AT2.yml Use triloamd02 runners --- .github/workflows/AT2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/AT2.yml b/.github/workflows/AT2.yml index 2ecde2de84b8..fc0d29036648 100644 --- a/.github/workflows/AT2.yml +++ b/.github/workflows/AT2.yml @@ -18,7 +18,7 @@ permissions: jobs: gcc10-openmpi416-EXPERIMENTAL: - runs-on: [self-hosted, triloamd01] + runs-on: [self-hosted, triloamd02] if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.review.state == 'APPROVED' }} steps: - name: env From b70ed0cb10f346a1886091dcfa655c942c4bcdf2 Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Wed, 3 Apr 2024 14:17:21 -0600 Subject: [PATCH 12/12] Update AT2.yml Change runner label --- .github/workflows/AT2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/AT2.yml b/.github/workflows/AT2.yml index fc0d29036648..d4c6c226d80b 100644 --- a/.github/workflows/AT2.yml +++ b/.github/workflows/AT2.yml @@ -18,7 +18,7 @@ permissions: jobs: gcc10-openmpi416-EXPERIMENTAL: - runs-on: [self-hosted, triloamd02] + runs-on: [self-hosted, gcc-10.3.0_openmpi-4.1.6] if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' || github.event.review.state == 'APPROVED' }} steps: - name: env