Page MenuHomePhabricator

[cicd] create cicd flow for non repo owners
Closed, ResolvedPublic

Description

See parent task for more details.

TL;DR:

  • Creating a new project in toolsbeta harbor, with strict policies (both amount of images, retention and size quota)
  • Creating a bot with access to it, for which the credentials will be public (or almost)
  • Run tests but don't attempt to publish helmchart and image to harbor if patch owner is not a repo owner (this will still fail btw because of no access to secret. This step is purely to avoid the ugly red cicd failure icon)
  • change toolforge_deploy_mr.py do the following:
    • if the cicd pipeline is still running wait until it completes (currently default behaviour)
    • if the cicd pipeline has completed successfully and image and chart exists in harbor, pull from harbor.
    • if the cicd pipeline has completed successfully but image and chart are not in harbor, push them to the public harbor project created above.
    • if cicd failed, do nothing.

Event Timeline

raymond-ndibe opened https://gitlab.wikimedia.org/repos/cloud/cicd/gitlab-ci/-/merge_requests/61

[helm_publish, image_publish]: skip harbor helm and image publish if PR owner not repo owner

Is this Epic?

nope, the parent is. That was an oversight. Removing that

Raymond_Ndibe changed the task status from Open to In Progress.May 18 2025, 8:56 PM
dcaro triaged this task as Medium priority.May 22 2025, 7:56 AM

raymond-ndibe opened https://gitlab.wikimedia.org/repos/cloud/toolforge/lima-kilo/-/merge_requests/273

[toolforge_deploy_mr.py] support deploy of MRs from external contributors

raymond-ndibe merged https://gitlab.wikimedia.org/repos/cloud/cicd/gitlab-ci/-/merge_requests/61

[helm image publish]: publish to reggie repo if PR owner not repo owner

raymond-ndibe merged https://gitlab.wikimedia.org/repos/cloud/toolforge/lima-kilo/-/merge_requests/273

[toolforge_deploy_mr.py] support deploy of MRs from external contributors