Supporting dependencies.yaml and mirrors?
- Dominant language
- Python
- Stars
- 9
- Forks
- 9
- Avg merge
- 12d 12h
- Merged PRs (30d)
- 2
Description
In all Fab build scripts for suites a class to manage dependencies.yaml file has been added (partly using a different name, due to the LFRic work starting with parsing fcm config files).
It would be good to add this support to Fab. Though again the question is, is that a tool that a 'generic' build system should have? If not, it would make sense to have this in common repository, instead of maintaining different versions across suites.
Additionally:
- [ ] In the UM Fab script, I have added support for mirroring (a callback to the site config to replace URLs), which would be useful to have here as well.
- [ ] We also need to support merging different branches "on top of each other", which is currently done in the Simsys scripts. There is some serious code duplication involved :( One approach (discussed at https://github.com/MetOffice/SimSys_Scripts/issues/217, given the constraint that SimSys does not want to have a dependency on Fab) would be to copy some Fab classes (2 or 3) into SimSys, then it would be easier to switch over at some stage, when SimSys is retired. Though that by itself also creates code duplication.
Contributor guide
Research direction
Start by comparing the Fab build scripts for suites with the UM Fab script and Simsys scripts, focusing on dependencies.yaml handling, URL mirroring, and branch merging. Read the linked SimSys_Scripts issue for context. Done requires an agreed generic Fab scope and an implementation plan that addresses the duplicated classes and all three requested capabilities.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100