Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it so that changes under packages/framework/ triggers enable of all Trilinos packages #10881

Closed
bartlettroscoe opened this issue Aug 15, 2022 · 6 comments
Assignees
Labels
Framework tasks Framework tasks (used internally by Framework team) PA: Framework Issues that fall under the Trilinos Framework Product Area TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework

Comments

@bartlettroscoe
Copy link
Member

bartlettroscoe commented Aug 15, 2022

CC: @trilinos/framework

Internal Issues

Description

As shown by the PRs:

changes to the file:

  • packages/framework/ini-files/config-specs.ini

with the the current PR testing process is not triggering the enable of all Trilinos packages in the PR builds (which it needs to). That can be fixed by updating the logic in the file:

and add matching unit tests to:

Once that change is made, then any change any file in that directory will trigger the enable of all Trilinos packages.

@bartlettroscoe bartlettroscoe added Framework tasks Framework tasks (used internally by Framework team) TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework PA: Framework Issues that fall under the Trilinos Framework Product Area labels Aug 15, 2022
@bartlettroscoe bartlettroscoe self-assigned this Aug 15, 2022
@bartlettroscoe
Copy link
Member Author

This was approved for development by David in TRILINOSHD-170.

I will work on this soon. Should not be too hard.

@bartlettroscoe
Copy link
Member Author

bartlettroscoe commented Sep 7, 2022

CC: @rppawlo, @jhux2, @csiefer2, @ccober6, @mmwolf, @trilinos/framework, @e10harvey

As part of upgrading CMake in all of the Trilinos GenConfig builds in #10355, I discovered that the only automated testing for the changes to the settings in the srn-ini-files repo which impact all of the PR builds is just running gen-config.sh and then doing a configure of Trilinos with no packages enabled.

This is some testing but this is no where near enough testing of a change to a PR configuration to allow it to be deployed. You have to enable all packages and build and run all tests to know that you have a configuration that is acceptable to deploy.

There has to be some process that runs the full set of Trilinos PR builds and tests with all packages enabled before allowing any changes to the PR builds. (That might explain why some of the newer PR builds have being deployed with failures right off the bat.)

I will put in a Trilinos PR to trigger the enabling of all Trilinos packages for changes under the directory Trilinos/packages/framework/ but then we need something similar for any changes to the srn-ini-files repo as well.

bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Sep 23, 2022
bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Sep 23, 2022
…trilinos#10881)

These changes can break the PR build and/or tests if any Trilinos package so
to be safe, everything needs to be enabled when changing files under this
directory (see trilinos#10881).
@bartlettroscoe
Copy link
Member Author

The implementing PR is #11057.

trilinos-autotester added a commit that referenced this issue Sep 24, 2022
…ramework-enable-all

Automatically Merged using Trilinos Pull Request AutoTester
PR Title: Make changes under packages/framework/ trigger enable of all packages (#10881)
PR Author: bartlettroscoe
jmgate pushed a commit to tcad-charon/Trilinos that referenced this issue Sep 24, 2022
…s:develop' (ad0e057).

* trilinos-develop:
  MueLu: fix failing test with no UVM
  Stokhos:  Loosen tolerance to resolve failures on Intel19 + C++17
  Framework: Disabling more UVM tests
  Make changes under packages/framework/ trigger enable of all packages (trilinos#10881)
  Minor typo and format fixes (trilinos#10881)
  Framework: Disabling Ifpack2_AdditiveSchwarz test with UVM off
  Ifpack2: CUDA11 hated the auto keyword here for whatever reason
  MueLu MF Prolongator: Fix complex issues
  Ifpack2: Bump up tolerance
  Allow permute view value rather than int
jmgate pushed a commit to tcad-charon/Trilinos that referenced this issue Sep 24, 2022
…s:develop' (ad0e057).

* trilinos-develop:
  MueLu: fix failing test with no UVM
  Stokhos:  Loosen tolerance to resolve failures on Intel19 + C++17
  Framework: Disabling more UVM tests
  Make changes under packages/framework/ trigger enable of all packages (trilinos#10881)
  Minor typo and format fixes (trilinos#10881)
  Framework: Disabling Ifpack2_AdditiveSchwarz test with UVM off
  Ifpack2: CUDA11 hated the auto keyword here for whatever reason
  MueLu MF Prolongator: Fix complex issues
  Ifpack2: Bump up tolerance
  Allow permute view value rather than int
@bartlettroscoe
Copy link
Member Author

With the merge of #11057, we can now wait into the next time someone tries to change a file under packages/framework/ and we can confirm that all package enables are triggered.

@bartlettroscoe
Copy link
Member Author

FYI: The PR #11087 just posted changes the file packages/framework/ini-files/config-specs.ini and it resulted in triggering the enable of all Trilinos packages as shown on CDash here where the configure output for the cuda-11.4.2 shows:

loading initial cache file /scratch/trilinos/workspace/Trilinos_PR_cuda-11.4.2-uvm-off@2/generatedPRFragment.cmake
loading initial cache file /scratch/trilinos/workspace/Trilinos_PR_cuda-11.4.2-uvm-off@2/packageEnables.cmake
-- Setting Trilinos_ENABLE_ALL_PACKAGES = ON

...

Final set of enabled packages:  TrilinosFrameworkTests TrilinosATDMConfigTests Gtest Kokkos Teuchos KokkosKernels RTOp Sacado MiniTensor Epetra Zoltan Shards Triutils EpetraExt Tpetra TrilinosSS Domi Thyra Xpetra Isorropia Pliris AztecOO Galeri Amesos Pamgen Zoltan2Core Ifpack ML Belos ShyLU_Node Amesos2 SEACAS Komplex Anasazi Ifpack2 Stratimikos FEI Teko Intrepid Intrepid2 Compadre STK Percept Krino Phalanx NOX Moertel MueLu Zoltan2Sphynx Zoltan2 Rythmos Tempus ROL Piro Panzer Adelus Pike TrilinosBuildStats TrilinosInstallTests 59

...

Final set of non-enabled packages:  TriKota ShyLU_DD ShyLU Stokhos PyTrilinos NewPackage TrilinosCouplings 7
...

That is excellent evidence that the updated behavior is working as desired.

Closing this as complete.

@bartlettroscoe
Copy link
Member Author

Closing as complete for real this time :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Framework tasks Framework tasks (used internally by Framework team) PA: Framework Issues that fall under the Trilinos Framework Product Area TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework
Projects
None yet
Development

No branches or pull requests

1 participant