Enable GitLab CI/CD
This merge request doesn't seem to have attracted any love for 6+ months, so I'll dare to look at it.
The defmod code changes in themselves are all nice and bland, but I am going to query the rash of YAML (same goes for RiscOS/Sources/Apps/SquashApp!1 and RiscOS/Tools/Sources/Squish!1 so an opportunity for 3 birds with 1 stone here) that the deploy step looks pretty fragile. By which I mean: it's got lots of magic paths baked into it that I could imagine could be subject to the whims of GitLab in major version bumps, various sideband back scratchery, and other incantations.
So as to avoid having to keep reworking numerous components when the winds change direction, could all that stuff be swept into a single place then merely referenced here? I don't know much about YAML but I'd guess it supports multiple
include
files so you might end up withinclude: - project: 'Support/CI' file: '/defmod.yml' deploy: file: 'CD/defmod.yml'
And all the scripts then live in Support/CD like the CI scripts live in Support/CI If multiple
include
files aren't supported then next option would be to have the scripts live in Support/CD and have therefresh.awk
notice they exist and append them so you haveinclude: - project: 'Support/CI' file: '/defmod.yml'
The power of the shared makefiles and the autogenerated CI scripts allowing 1 change to be made centrally and all the clients inherit that is the pattern I think would work well here.