Closed orfeas-k closed 9 months ago
Some thoughts on each case:
on_pull_request
Definitely we need:
Should we also:
on_push
(to a branch that produces releases, like a specific version)When this CI publishes, do we need to create a release or something like that? Or, if we version everything with commits, is it clear enough? There is the problem @orfeas-k you mentioned about if we need to republish something without actually modifying the repo (and thus without changing the commit hash) - those might still need some breadcrumbs to know what is where. But this is a small case
@orfeas-k how do you envision sharing these files between repos? Would we have something like the get_modified_rocks_and_build_scan_test_rock.yaml
workflow in charmed-kubeflow-workflows, and then every repo has a very basic identical on_pull_request.yaml
? We could even have a template here for the on_pull_request.yaml maybe (not stored in .github/workflows
, so it doesn't fire in this repo) and we could expect people copy and paste the file from here
Would we have something like the get_modified_rocks_and_build_scan_test_rock.yaml workflow in charmed-kubeflow-workflows, and then every repo has a very basic identical on_pull_request.yaml? We could even have a template here for the on_pull_request.yaml maybe (not stored in .github/workflows, so it doesn't fire in this repo) and we could expect people copy and paste the file from here
Yes, that's how I think we should do it and this was integrated also in #27 by including this template.
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-5127.
This message was autogenerated
To reiterate and close this issue, we decided the following
on_pull_request
on_push
(to main
or track/x.x
branches)This will by achieved by a common build-scan-test-publish
workflow that will publish only when it's triggered during push
events.
What needs to get done
At the moment, we do not have standardized and explicitly decided what should happen during
on_push
andon_pull_request
.on_pull_request
The second part is tackled by PR https://github.com/canonical/charmed-kubeflow-workflows/pull/27 which introduces
get_modified_rocks_and_build_scan_test_rock.yaml
that is designed to suffice for checks duringon_pull_request
. That's the thought also behind this implementation in seldonio-rocks. However, AFAIK, we haven't decided explicitly that build, scan and testing should happen during on_pull_request. This can also be observed by the fact that we have differenton_pull_request
workflows in kubeflow-rocks and pipelines-rocks repos.on_push
At the moment, there is nothing in this repo that can just be triggered as is for
on_push
events. There is the build_and_publish_rock.yaml file but cannot be called without passing arguments for each rockcraft inside a repo (as opposed to what can be done usingget_modified_rocks_and_build_scan_test_rock.yaml
. We should thus decide we expect from CI on those events.The above should happen with the use of reusable workflows (if possible) in order to have a centralized way of controlling ROCKs CI and avoid copy-pasting the same files over many repos.
Why it needs to get done
We need to do this in order to have centralized CI for ROCKs that will be reusable, robust and easily transferable. We will also avoid hardcoding and copy pasting stuff.