-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't wait for Phabricator events in the 'events' service, wait through a Taskcluster hook instead #2518
Comments
The overall workflow would be :
We know from our libmozevent implementation that Phabricator is able to send
I suggest we implement this in a new sub-project in this repo, named |
I filed a bugzilla ticket to inquiry about the secret token for a hook : https://bugzilla.mozilla.org/show_bug.cgi?id=1934254 I'll wait for an answer before asking for a new configuration on Phabricator |
I requested the scope to get the existing hooks token : mozilla-releng/fxci-config#199 We can then trigger the testing hook manually and update existing code to test what Phabricator will send. |
Code review developers now have the TC scope to retrieve the token, as demonstrated with that code + a TC client with scope from taskcluster.hooks import Hooks
hooks = Hooks({
'rootUrl': 'https://firefox-ci-tc.services.mozilla.com',
'credentials': {
'clientId': '...',
'accessToken': '...'
},
})
group_id, hook_id = "project-relman", "code-review-testing"
resp = hooks.getTriggerToken(group_id, hook_id)
token = resp["token"]
print(hooks.buildUrl('triggerHookWithToken', group_id, hook_id, token, {"data": "test"})) Then we can start a task through curl:
Here is a sample task, crashing of course as it does not have any info on which patch to analyze. Next steps:
|
I filed a new bugzilla ticket to request the Phabricator hook : https://bugzilla.mozilla.org/show_bug.cgi?id=1935142 |
|
The code-review-testing hook has been updated, and I was able to trigger a task using the token AND the payload from dkl: https://firefox-ci-tc.services.mozilla.com/tasks/aO2klyylQXGCcCvWrYTIGg/definition Next steps:
|
Taskcluster now supports triggering a webhook through a unique url (with a token).
We could build a new hook that is triggered by each Phabricator diff (same config as currently), creating a task associated to the diff.
That task would run the same workflow as events:
This would resolve the issues around disk space that we have on Heroku, allowing us to do things like #2004 and #2204.
This would also allow us to make the 'events' service slimmer. If we do both this and #945, we could get rid of the 'events' service altogether.
The text was updated successfully, but these errors were encountered: