action #165144
closedOBS SCM/CI Workflow Integration started never creates OBS projects for some pull requests size:S
0%
Description
Observation¶
The *OBS SCM/CI Workflow Integration started * workflow doesn't reliable work for all pull requests. Sometimes it doesn't create a project. Trying to view the results ends up in a redirect to github.com.
https://github.com/os-autoinst/openQA/pull/5845
There is a manual workaround but at this point it looks to be a regular issue so I consider this High priority to fix properly.
Workaround¶
Delete the project (if it exists) e.g. https://build.opensuse.org/project/show/devel:openQA:GitHub:os-autoinst:openQA:PR-5845 where the number matches the PR number and retrigger the corresponding webhook run.
Acceptance Criteria¶
- AC1: OBS checks work reliably for all pull requests
Suggestions¶
- Ensure there is an issue on https://github.com/openSUSE/open-build-service/issues about the problems, either already existing or create a new one
- Consider a simple github action to just put a link to the according created OBS project corresponding to a pull request so that we can crosscheck the result as well as apply mitigations as necessary, see #Workaround section in this ticket
Files
Updated by okurz 4 months ago
- Subject changed from OBS SCM/CI Workflow Integration started never creates OBS projects for some pull requests to OBS SCM/CI Workflow Integration started never creates OBS projects for some pull requests size:S
- Description updated (diff)
- Status changed from New to Workable
Updated by jbaier_cz 4 months ago
mkittler wrote in #note-4:
Do we know whether the initial webhook could be delivered correctly? (I guess I'll pay attention to the problem next time I'll encounter it. I don't recall seeing this frequently, though.)
In case of failed webhooks, maybe https://docs.github.com/en/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-repository-webhook is something we can try.
Updated by tinita 4 months ago
I found this issue: https://github.com/openSUSE/open-build-service/issues/12661
One difference is that in our webhook logs I usually see a 504 http status, not a 400.
Updated by tinita 4 months ago · Edited
- Status changed from In Progress to Feedback
ci: Add helper for reporting OBS url:
https://github.com/os-autoinst/openQA/pull/5872
https://github.com/os-autoinst/os-autoinst/pull/2537
edit: closed, will create new ones
Updated by livdywan 4 months ago
We talked about it in the unblock. We're not expecting the OBS check fixed upstream considering the abstractions and the metadata not being available directly.
In case of failed webhooks, maybe https://docs.github.com/en/webhooks/using-webhooks/automatically-redelivering-failed-deliveries-for-a-repository-webhook is something we can try.
I will give the redelivery boilerplate a go. Maybe we can delete the project via API call and redeliver.
Updated by livdywan 4 months ago
I will give the redelivery boilerplate a go. Maybe we can delete the project via API call and redeliver.
Turns out someone did make this into a re-usable action afterall, so os-autoinst/openQA#5877 actually uses gateixeira/retrigger-webhook-action as opposed to implementing it from scratch. This action also supports multiple hooks without hard-coding a specific one.
Updated by tinita 4 months ago
https://github.com/os-autoinst/openQA/pull/5879 ci: Add OBS helper workflow
Updated by tinita 4 months ago
https://github.com/os-autoinst/openQA/pull/5879 merged but:
https://github.com/os-autoinst/openQA/pull/5888 Run OBS helper for pull_request_target (also merged now)
Updated by tinita 4 months ago
And for os-autoinst: https://github.com/os-autoinst/os-autoinst/pull/2540
Updated by tinita 4 months ago
- Status changed from Feedback to Blocked
No further comments on the automatic redeliver approach.
Blocking on https://github.com/openSUSE/open-build-service/issues/12661
Updated by livdywan 4 months ago
Blocking on https://github.com/openSUSE/open-build-service/issues/12661
No further response yet
Updated by livdywan 3 months ago
I asked on help-obs on Slack if someone could take another look at the ticket. If nothing else to confirm if a fix is plausible or we should pursue work-arounds like redelivery or other options.