Page MenuHomePhabricator

[lima-kilo] toolforge_deploy does not support merge requests from forks properly
Closed, ResolvedPublic

Description

Apparently, the tooling to deploy merge requests to repos/cloud/toolforge/tools-webservice doesn’t work properly when the merge request was made by a fork – see the toolforge_deploy_mr.py error in this comment on !54 (which was eventually resubmitted as !55 to work around the issue). This apparently happens because the tool looks for a pipeline on the original repo, but in this case the pipeline actually runs on the fork.

Event Timeline

Note: I don’t know what the pipeline does and have no idea if pointing the script at the fork’s pipeline run would be enough. (E.g. maybe the original repo has some secrets that the pipeline run needs?)

dcaro subscribed.

No sorry, this is a different task, related to T394595: [cicd] create cicd flow for non repo owners but not the same

dcaro renamed this task from tools-webservice repo does not support merge requests from forks properly to [lima-kilo] toolforge_deploy_mr.py tdoes not support merge requests from forks properly.May 22 2025, 7:08 PM
dcaro triaged this task as Medium priority.
dcaro moved this task from Backlog to Ready to be worked on on the Toolforge board.
dcaro renamed this task from [lima-kilo] toolforge_deploy_mr.py tdoes not support merge requests from forks properly to [lima-kilo] toolforge_deploy does not support merge requests from forks properly.Mon, Jun 29, 10:50 AM
dcaro added a project: tools-platform-team.

Note, now for clis at least it works as expected (that includes tools-webservice, now named webservice-cli).

This is working now, tested with https://gitlab.wikimedia.org/repos/cloud/toolforge/components-api/-/merge_requests/174

dcaro@toolslocal:~$ toolforge_deploy components-api
  * 174: <buxtang> update handler to return empty list when no deployments
  * 173: <dcaro> deploy_task: wait for empty slot when starting build
  * 156: <dcaro> ci: added vale documentation linter
  * 132: <damian> Expand `source` support in `ToolConfig`
  * 111: <addshore> openapi: Document deployment cancel as a deployment_id param                                                                                           
  * 110: <addshore> openapi: Fix deployment/latest/cancel params, summary and operationId          
Which MR do you want to deploy? (restore, local, 174, 173, 156, 132, 111, 110) [174]:
...

Pipeline 1010 is still running, waiting for it to finish....
Found chart version '0.0.204-dev-mr-174'     
Found chart registry 'toolsbeta-harbor.wmcloud.org/toolforge'
...
        containers:                                 
          - name: api                                    
-           image: "tools-harbor.wmcloud.org/toolforge/components-api:image-0.0.200-20260601135633-b262aec7"                                                               
+           image: "toolsbeta-harbor.wmcloud.org/toolforge/components-api:dev-image-0.0.204-mr-174"
            imagePullPolicy: "Always"                                                
            env:                                            
...
Deployed components-api:0.0.204-dev-mr-174 from mr 174


dcaro@toolslocal:~$ toolforge_get_versions.sh 
 component | type | package name | version | comment |
| :-------: | :--: | :----------: | :-----: | :-----: |
| api-gateway | chart | api-gateway | api-gateway-0.0.99-20260611135619-f0a42178 |  |
| builds-api | chart | builds-api | builds-api-0.0.218-20260629132448-fecc8677 |  |
| builds-builder | chart | builds-builder | builds-builder-0.0.151-20260601140242-4edb4f52 |  |
| builds-cli | package | toolforge-builds-cli | 0.0.26 |  |
| calico | chart | calico | calico-0.0.20-20251110182231-f8df7655 |  |
| cert-manager | chart | cert-manager | cert-manager-v1.15.3 |  |
| components-api | chart | components-api | components-api-0.0.204-dev-mr-174 | mr:components-api!174 |    <--- this is the correct one
| components-cli | package | toolforge-components-cli | 0.0.16 |  |
| envvars-admission | chart | envvars-admission | envvars-admission-0.0.41-20260616161814-962b885d |  |
| envvars-api | chart | envvars-api | envvars-api-0.0.87-20260611135624-0cf6e072 |  |
| envvars-cli | package | toolforge-envvars-cli | 0.0.15 |  |
| image-config | chart | image-config | image-config-0.0.27-20260511001800-516fe3eb |  |
| ingress-admission | chart | ingress-admission | ingress-admission-0.0.89-20260611135716-2a74371e |  |
| istio-base | chart | istio-base | istio-system-1.29.0 |  |
| jobs-api | chart | jobs-api | jobs-api-0.0.526-dev-mr-328 | mr:jobs-api!328 |
| jobs-cli | package | toolforge-jobs-cli | 16.1.30 |  |
| jobs-emailer | chart | jobs-emailer | jobs-emailer-0.0.88-20260611135441-3ce40b54 |  |
| kyverno | chart | kyverno | kyverno-3.6.4 |  |
| logs-api | chart | logs-api | logs-api-0.0.26-20260601135218-3989599a |  |
| maintain-harbor | chart | maintain-harbor | maintain-harbor-0.0.72-20260609145729-645b17b7 |  |
| maintain-kubeusers | chart | maintain-kubeusers | maintain-kubeusers-0.0.200-20260611135640-2c6096d9 |  |
| misctools-cli | package | toolforge-misctools-cli | 1.49.4 |  |
| registry-admission | chart | registry-admission | registry-admission-0.0.78-20260611135520-dff9af97 |  |
| toolforge-cli | package | toolforge-cli | 0.3.8 |  |
| toolforge-weld | package | python3-toolforge-weld | 1.6.15 |  |
| volume-admission | chart | volume-admission | volume-admission-0.0.86-20260611135551-7d41d3e6 |  |
| webservice-cli | package | toolforge-webservice | 0.103.25 |  |
| wmcs-k8s-metrics | chart | wmcs-metrics | wmcs-k8s-metrics-0.0.24-20260326171011-f1ad4b3c |  |
dcaro claimed this task.