Generation in CI
Currently manual action is required after adjusting the generation script or TOML file. All operators and CMake files must be regenerated and committed to the repository. Before merging, our current CI generates all operators again to ensure that no errors in the manual process were made.
To avoid manual action and double generation/waiting, I suggest implementing a CI job which
- generates all operators at the current HEAD,
- creates a new commit including the generated output and pushes it to a new branch,
- creates a merge request.
The workflow for a developer would then be:
- Adjust python script or TOML file.
- Test these changes locally (for a relevant subset of operators).
- Publish changes.
- Review/file merge request.
There are some details which I am not sure about:
- What triggers the new job? Does it run on every commit or only in merge requests?
- Which is the target branch of the merge request? The current feature branch or
main
?
See https://docs.gitlab.com/ee/user/project/push_options.html#push-options-for-merge-requests to learn how to automatically create merge requests.