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

Single entry point for all applications and utilities #252

Merged
merged 25 commits into from
Oct 11, 2023

Conversation

danholdaway
Copy link
Contributor

@danholdaway danholdaway commented Oct 4, 2023

Description

Instead of having many scripts we have a single entry point swell.

Examples of new use:

swell create ufo_testing will create the experiment directory. The old swell_prepare_experiment_config and swell_create_experiment wrapped into one command.

swell launch /path/to/yaml instead of swell_launch_experiment

swell task GetObservations ... instead of swell_task.

Note that now you can do swell --help and see all features of the entire package. Then you can do things like swell create --help to go down into each application to see the help. So the user has only one entry point and can figure out the entire application from there.

h/t @aerorahul for this nice suggestion.

Dependencies

Impact

N/A

@danholdaway danholdaway marked this pull request as ready for review October 5, 2023 02:28
@danholdaway danholdaway requested a review from jardizzo as a code owner October 5, 2023 02:28
@danholdaway
Copy link
Contributor Author

I still need to make the corresponding changes to the tier1 and tier2 testing.

@Dooruk
Copy link
Collaborator

Dooruk commented Oct 5, 2023

I see a few module changes but is this still using spack 1.4 modules?

@danholdaway
Copy link
Contributor Author

Yes we are still using spack-stack 1.4. The package changes are just for GitHub. Now everything goes through the top level script, which includes an import of everything in one way or another. Previously calling a test meant only needing to import what that test needed. We could have probably avoided that with a less monolithic top level but I figured this makes it easier for folks to look at and understand what's going on in the future.

Copy link
Contributor

@CEgerer93 CEgerer93 left a comment

Choose a reason for hiding this comment

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

I quite like the single entry point implementation. Indeed, it makes understanding the application easier. Looking forward to working with these changes when merged.

@Dooruk
Copy link
Collaborator

Dooruk commented Oct 9, 2023

This is great, --help outputs are much more clear and helpful now!

@danholdaway danholdaway merged commit 5b81fa1 into develop Oct 11, 2023
@danholdaway danholdaway deleted the feature/single_entry_point branch October 11, 2023 16:41
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