CI: Enable interop requests from ZcashFoundation/zebra#29
Conversation
| zebra-app-id: | ||
| description: 'Zebra GitHub App ID' | ||
| required: true | ||
| zebra-private-key: |
There was a problem hiding this comment.
What authority does this private key grant? Can its scope be reduced? (Similarly for the existing Zallet private key.)
There was a problem hiding this comment.
This private key is used to sign JWT tokens so that the action can have the authority granted to the github app for execution of operations. More details here: https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/managing-private-keys-for-github-apps
In the past, we used individual user tokens for this kind of operation, meaning that it was effectively the github action performing the operation on behalf of a specific user that provided the secret. Here, instead, it's not a user; it's a github app registered with the org that is granted the authority to perform the operation and granting the secret to the github action then allows it to exercise that app's capabilities.
This will be potentially somewhat more complex, as we'll need the relationship to be across repositories. I think that we might need ZF to install the Z3 Integration Testing app (https://github.com/organizations/zcash/settings/installations/109782012) into the Zebra repository, and then we would need to install the corresponding app to be able to write back the other direction? I'll have to investigate. |
|
Rebased on |
|
The PR here looks good. There are some decisions needed, mainly in the Zebra side:
Action items once decisions are made:
Let us know if that plan of action need changes. |
|
Here's what I did @oxarbitrage GitHub App setup:
Secrets:
Zebra-side trigger:
Remaining:
|
|
Rebased on @oxarbitrage @gustavovalverde please discuss the interop GitHub app approach in #42. Once an approach is settled upon and documented there, I'll update this PR if needed. |
6e81c39 to
02a6cff
Compare
02a6cff to
a6df10d
Compare
This would need to be paired with a CI trigger in their repo equivalent to https://github.com/zcash/wallet/blob/a96b778a4dab0421cc93006a31d7d724a58ff0fe/.github/workflows/ci.yml#L118-L136 (but using the
zebra-interop-requestevent instead), along with the necessary GitHub App to power the integration (cc @nuttycom who set the Zallet one up).