atc-net/atc-coding-rules-updater

Support keeping (many) projects updated

JKrag opened this issue · 0 comments

JKrag commented

This is not (yet) a specific feature request, but more an attempt to start a discussion about this general topic.

The updater is really cool and smart, but at the moment it is very dependent on developers remembering (and being motivated) to run it once in a while. If you have many projects using the atc-coding-rules, I expect it will become a huge, boring and then quickly forgotten task to actually keep the rules up to date.

Just like with other similar projects, this should be solvable with automation, e.g. in a pipeline.

As a MVP, the updater should have sort of a dry-run run-mode (switch) that just reports a zero or non-zero exit code depending on whether there are actually any updates. This would at least allow setting up a daily/weekly pipeline job that just fails if there are any pending updates, thus (hopefully) alerting someone on the team to manually run the updater and "do what needs to be done".

A more advanced solution could be something in the style of Dependabot that actually creates and submits a Pull Request with the updates. This would then automatically be built and can be reviewed/merged by a developer. The challenge with this is that it becomes platform dependent as there is no common interface for PR's across different Git hosting systems.
On the other hand, this could probably be done quite easily in simple pipeline steps on most platforms, and might therefore not (yet) be in reasonable scope for ATC?
I.e. If I can run the updater in a pipeline and easily "detect" if there are any real changes, then I can also get my pipeline to create a branch and make a PR.

So for now, the main point for me is to figure out which features are needed in the updater tool to better support automation.