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

[develop] Replace manage_externals with Git submodules #1028

Draft
wants to merge 24 commits into
base: develop
Choose a base branch
from

Conversation

MichaelLueken
Copy link
Collaborator

DESCRIPTION OF CHANGES:

As voted on in the first SRW App CM meeting in 2024, this PR replaces the current manage_externals with Git submodules. This PR will remain in draft form until we are ready to proceed with this update.

Type of change

  • New feature (non-breaking change which adds functionality) - Adding submodules
  • Breaking change (fix or feature that would cause existing functionality to not work as expected) - Removing current manage_externals capability
  • This change requires a documentation update - Documentation and images using manage_externals will need to be removed/updated with submodules

TESTS CONDUCTED:

  • hera.intel
  • orion.intel
  • hercules.intel
  • cheyenne.intel
  • cheyenne.gnu
  • derecho.intel
  • gaea.intel
  • gaeac5.intel
  • jet.intel
  • Jenkins
  • fundamental test suite
  • comprehensive tests (specify which if a subset was used)

DEPENDENCIES:

None

DOCUMENTATION:

Documentation will be updated in this PR before it is opened.

ISSUE:

CHECKLIST

  • My code follows the style guidelines in the Contributor's Guide
  • I have performed a self-review of my own code using the Code Reviewer's Guide
  • I have commented my code, particularly in hard-to-understand areas
  • My changes need updates to the documentation. I have made corresponding changes to the documentation
  • My changes do not require updates to the documentation (explain).
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • Any dependent changes have been merged and published

MichaelLueken and others added 20 commits January 17, 2024 14:27
…Externals.cfg (and associated modifications)
…s.yaml, as the hpc-stack-mod submodule has been removed
…s.yaml, as the hpc-stack-mod submodule has been removed (and commenting out the changes corrected the failure)
…s-weather-model via git submodule update --init --recursive
@MichaelLueken
Copy link
Collaborator Author

To clone the repository, you can use either:

git clone --recursive -b feature/git_submodules [email protected]:MichaelLueken/ufs-srweather-app.git

or, if you didn't use the --recursive option:

git clone -b feature/git_submodules [email protected]:MichaelLueken/ufs-srweather-app.git
cd ufs-srweather-app
git submodule update --init --recursive

[submodule "sorc/UFS_UTILS"]
path = sorc/UFS_UTILS
url = https://github.com/ufs-community/UFS_UTILS
branch = develop
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MichaelLueken, the branch line may not be necessary, but it would be good to add ignore = dirty instead to exclude any change in the submodules.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for the suggestion, @chan-hoo! I will try removing the branch line and adding ignore = dirty instead.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if this helps: In the UFSWM we keep the branch field. It's useful to know in a PR what submodules are bringing in updates and what branch the developer has those updates in as it's important for developers to make branches different names than develop. Maybe not all submodules use a "develop" branch.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @BrianCurtis-NOAA! You make a very good point, if users are applying changes to a component, it would be nice to see the fork and branch that they are using for those changes. There is no harm in keeping the branch line, so I will go ahead and keep it for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants