Open
Description
Description
All repos that use a multi project solution for nugets (such as M5Stack) candidates and especially
nanoFramework.IoT.Device currently runs nuget dependency updates using GitHub workflows in 5 stages.
In each stage, the projects are stepped through and update sequentially (with optional exclusions).
This takes a very long time (especially stage 4)!
Once all affected projects are updated, this is re-ran by azure-pipelines before PR merge
and again after merge to main/develop.
We need to:
- work out how we can make this process as parallel as possible.
- remove duplicated builds.
Potential fixes:
- Should this be done in the repo (e.g. a single workflow yaml for each solution/project)?
- Should nanodu be able to parallelize the builds?
- Should dependency updates via GH workflow require the azure-pipeline check?
Should we run the update checks on a Monday and Wednesday, rather than a Wednesday and Friday (when more core members are available)?
Note that there could/should be a catch all workflow to collect and process ones missing.
Which leads to (aims):
- Reduce build time (and associated costs).
- Update quicker (daily).
- Ensures users are not blocked by out of date nugets.