From 7f1157594c528d8a790a4b81fede53624fc02b2e Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 25 Sep 2024 17:24:52 -0500 Subject: [PATCH 01/15] Update codeql.yml job to use AT2 runner Want to test the difference in speed with its current configuration settings on a self-hosted machine (using our gcc-serial containers for now). Signed-off-by: Anderson Chauphan --- .github/workflows/codeql.yml | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 7b51bbec8c75..8d806f645c7c 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -12,10 +12,11 @@ name: "CodeQL: Linear Solvers" on: - #push: - # branches: [ "muelu-sync-workflow" ] pull_request: branches: [ "develop" ] + types: + - opened + - synchronize schedule: - cron: '41 23 * * 2' @@ -25,17 +26,12 @@ permissions: jobs: analyze: name: Analyze (${{ matrix.language }}) - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners (GitHub.com only) - # Consider using larger runners or machines with greater resources for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + runs-on: [self-hosted, gcc-8.3.0_serial] + if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' }} + permissions: # required for all workflows security-events: write - # only required for workflows in private repositories actions: read contents: read @@ -46,16 +42,7 @@ jobs: include: - language: c-cpp build-mode: manual - #- language: python - # build-mode: none - # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' - # Use `c-cpp` to analyze code written in C, C++ or both - # Use 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, - # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. - # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how - # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages + steps: - name: Checkout repository uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 From 5fb69be73737d00ab2e1b24ced9a68ab8f655c34 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 25 Sep 2024 18:06:02 -0500 Subject: [PATCH 02/15] Update codeql.yml Signed-off-by: Anderson Chauphan --- .github/workflows/codeql.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 8d806f645c7c..258b6af9f463 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -57,9 +57,19 @@ jobs: query-filters: - exclude: tags: cpp/integer-multiplication-cast-to-long - + - name: env + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: | + env + - name: module list + shell: bash -l + run: | + module list + printenv PATH - if: matrix.build-mode == 'manual' - name: Configure Trilinos + name: Configure Trilinos + shell: bash -l run: | mkdir -p trilinos_build cd trilinos_build From fd8041ec2b4b25c56891aebf2cab030174f49ee8 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 25 Sep 2024 18:14:10 -0500 Subject: [PATCH 03/15] Update codeql.yml --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 258b6af9f463..f69b856c5051 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -63,13 +63,13 @@ jobs: run: | env - name: module list - shell: bash -l + shell: bash -l {0} run: | module list printenv PATH - if: matrix.build-mode == 'manual' name: Configure Trilinos - shell: bash -l + shell: bash -l {0} run: | mkdir -p trilinos_build cd trilinos_build From 58bf7f5d5bd0c334476f4bf22bfe466c2f53b48d Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Thu, 26 Sep 2024 16:52:50 -0500 Subject: [PATCH 04/15] Update CodeQL job to use gcc-openmpi runner Our gcc-openmpi runner has the necessary TPLs required to configure and build. --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f69b856c5051..24baab26a9fd 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -26,7 +26,7 @@ permissions: jobs: analyze: name: Analyze (${{ matrix.language }}) - runs-on: [self-hosted, gcc-8.3.0_serial] + runs-on: [self-hosted, gcc-10.3.0_openmpi-4.1.6] if: ${{ github.event.action == 'synchronize' || github.event.action == 'opened' }} permissions: From 3e11fa504b383b256eceecde19e05ec6816e3847 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Mon, 30 Sep 2024 18:34:04 -0500 Subject: [PATCH 05/15] Update codeql.yml to use GenConfig --- .github/workflows/codeql.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 24baab26a9fd..fbb7d7b7dc1c 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -72,7 +72,10 @@ jobs: shell: bash -l {0} run: | mkdir -p trilinos_build - cd trilinos_build + cd trilinos_build + + source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force 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 -G 'Unix Makefiles' -DTrilinos_ENABLE_TESTS=OFF -DTrilinos_ENABLE_Epetra=OFF -DTrilinos_ENABLE_AztecOO=OFF -DTrilinos_ENABLE_Ifpack=OFF -DTrilinos_ENABLE_ML=OFF -D Trilinos_ENABLE_Triutils=OFF -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Krino=OFF .. - if: matrix.build-mode == 'manual' From 537b581edc73ffc671287adb4252d3ac91ae5903 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Mon, 30 Sep 2024 18:44:07 -0500 Subject: [PATCH 06/15] Update codeql.yml to source get_dependencies --- .github/workflows/codeql.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index fbb7d7b7dc1c..24a6f0ff0e36 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -74,6 +74,7 @@ jobs: mkdir -p trilinos_build cd trilinos_build + source ${GITHUB_WORKSPACE}/packages/framework/get_dependencies.sh --container source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force 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 -G 'Unix Makefiles' -DTrilinos_ENABLE_TESTS=OFF -DTrilinos_ENABLE_Epetra=OFF -DTrilinos_ENABLE_AztecOO=OFF -DTrilinos_ENABLE_Ifpack=OFF -DTrilinos_ENABLE_ML=OFF -D Trilinos_ENABLE_Triutils=OFF -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Krino=OFF .. From 7eb2d64128c5b7ca30f6d19ec9e4ed7a4eb16670 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Mon, 30 Sep 2024 18:56:59 -0500 Subject: [PATCH 07/15] Update codeql.yml to move get_dependencies Move get dependencies to its own step to utilize unique bash arguments. This is due to how LoadEnv from GenConfig spawns a subshell. --- .github/workflows/codeql.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 24a6f0ff0e36..e73096c0622e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -68,13 +68,15 @@ jobs: module list printenv PATH - if: matrix.build-mode == 'manual' + name: Get dependencies + run: | + bash -lc "${GITHUB_WORKSPACE}/packages/framework/get_dependencies.sh --container" name: Configure Trilinos shell: bash -l {0} run: | mkdir -p trilinos_build cd trilinos_build - source ${GITHUB_WORKSPACE}/packages/framework/get_dependencies.sh --container source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force 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 -G 'Unix Makefiles' -DTrilinos_ENABLE_TESTS=OFF -DTrilinos_ENABLE_Epetra=OFF -DTrilinos_ENABLE_AztecOO=OFF -DTrilinos_ENABLE_Ifpack=OFF -DTrilinos_ENABLE_ML=OFF -D Trilinos_ENABLE_Triutils=OFF -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Krino=OFF .. From b08d09c5d19acbc682f9b3c8aa0bc2033d37cadb Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Mon, 30 Sep 2024 19:01:34 -0500 Subject: [PATCH 08/15] Update codeql.yml with syntax fixes --- .github/workflows/codeql.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e73096c0622e..60084c1112e6 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -71,6 +71,7 @@ jobs: name: Get dependencies run: | bash -lc "${GITHUB_WORKSPACE}/packages/framework/get_dependencies.sh --container" + - if: matrix.build-mode == 'manual' name: Configure Trilinos shell: bash -l {0} run: | From 59ab59a90c519ebca85bdf88ca4aff7affbcd760 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Mon, 30 Sep 2024 19:13:08 -0500 Subject: [PATCH 09/15] Update codeql.yml --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 60084c1112e6..e62fcbada52e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -73,7 +73,7 @@ jobs: bash -lc "${GITHUB_WORKSPACE}/packages/framework/get_dependencies.sh --container" - if: matrix.build-mode == 'manual' name: Configure Trilinos - shell: bash -l {0} + shell: bash -lc {0} run: | mkdir -p trilinos_build cd trilinos_build From a8b0548295116cfea5c77a1d973c80a4d5e532b4 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Mon, 30 Sep 2024 19:20:29 -0500 Subject: [PATCH 10/15] Update codeql.yml --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e62fcbada52e..13bbeb3b22e8 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -78,7 +78,7 @@ jobs: mkdir -p trilinos_build cd trilinos_build - source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force 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 + bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force 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 -G 'Unix Makefiles' -DTrilinos_ENABLE_TESTS=OFF -DTrilinos_ENABLE_Epetra=OFF -DTrilinos_ENABLE_AztecOO=OFF -DTrilinos_ENABLE_Ifpack=OFF -DTrilinos_ENABLE_ML=OFF -D Trilinos_ENABLE_Triutils=OFF -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Krino=OFF .. From c1ef32f22505bf96a4f1a6de277036136e512c50 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 2 Oct 2024 15:19:01 -0500 Subject: [PATCH 11/15] Update codeql.yml --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 13bbeb3b22e8..9e46055a7c61 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -78,9 +78,9 @@ jobs: mkdir -p trilinos_build cd trilinos_build - bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force 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 + bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 ../Trilinos - cmake -G 'Unix Makefiles' -DTrilinos_ENABLE_TESTS=OFF -DTrilinos_ENABLE_Epetra=OFF -DTrilinos_ENABLE_AztecOO=OFF -DTrilinos_ENABLE_Ifpack=OFF -DTrilinos_ENABLE_ML=OFF -D Trilinos_ENABLE_Triutils=OFF -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Krino=OFF .. + cmake -C fragment.cmake -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON .. - if: matrix.build-mode == 'manual' name: Build Trilinos From be935d4cec5383be8a24a035a85d9f2882f75e80 Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 2 Oct 2024 15:23:20 -0500 Subject: [PATCH 12/15] Update codeql.yml --- .github/workflows/codeql.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 9e46055a7c61..c8149ae145d7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -79,14 +79,17 @@ jobs: cd trilinos_build bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 ../Trilinos + - cmake -C fragment.cmake -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON .. - if: matrix.build-mode == 'manual' name: Build Trilinos run: | cd trilinos_build - make -j 2 + bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force rhel8_gcc-openmpi + cmake -C fragment.cmake -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON .. + + ninja -j 16 - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8 From 5e8871677cc2e4586c60f8ce90d58bface0f932d Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 2 Oct 2024 15:40:54 -0500 Subject: [PATCH 13/15] Update codeql.yml --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c8149ae145d7..4b091a482c9d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -78,7 +78,7 @@ jobs: mkdir -p trilinos_build cd trilinos_build - bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 ../Trilinos + source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 ../Trilinos @@ -86,7 +86,7 @@ jobs: name: Build Trilinos run: | cd trilinos_build - bash ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force rhel8_gcc-openmpi + source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force rhel8_gcc-openmpi cmake -C fragment.cmake -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON .. ninja -j 16 From ac3bcf582c31cf3c7401ce57643ed18ce339ca7f Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Wed, 2 Oct 2024 15:53:38 -0500 Subject: [PATCH 14/15] Update codeql.yml --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 4b091a482c9d..5c1631546e60 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -78,7 +78,7 @@ jobs: mkdir -p trilinos_build cd trilinos_build - source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 ../Trilinos + source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 From 95f7643c096ca9d9355a8a3226a7d8db1e8067ac Mon Sep 17 00:00:00 2001 From: Anderson Chauphan Date: Thu, 3 Oct 2024 11:31:28 -0500 Subject: [PATCH 15/15] Update codeql.yml --- .github/workflows/codeql.yml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 5c1631546e60..c143fdc777ea 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -72,25 +72,16 @@ jobs: run: | bash -lc "${GITHUB_WORKSPACE}/packages/framework/get_dependencies.sh --container" - if: matrix.build-mode == 'manual' - name: Configure Trilinos + name: Configure and Build Trilinos shell: bash -lc {0} run: | mkdir -p trilinos_build cd trilinos_build source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/gen-config.sh --force --cmake-fragment fragment.cmake 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 - - - - - if: matrix.build-mode == 'manual' - name: Build Trilinos - run: | - cd trilinos_build - source ${GITHUB_WORKSPACE}/packages/framework/GenConfig/LoadEnv/load-env.sh --force rhel8_gcc-openmpi cmake -C fragment.cmake -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_MueLu=ON .. - ninja -j 16 - + - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@294a9d92911152fe08befb9ec03e240add280cb3 # v3.26.8 with: