Add AXIOM check gating to workflow - #34
Conversation
Robie Basak (basak-qcom)
left a comment
There was a problem hiding this comment.
Overall this is in the shape I expect, thanks!
Is it possible to test this before landing into the main branch, please, so that we can be assured that we're not impacting Debusine CI in production until we've seen the integration working? For example, we could push this PR to a branch called enable-axiom and push a similar enable-axiom branch in one of the enabled pkg-* repositories with minor changes to .github/workflows/ in that pkg-* branch to call this enable-axiom branch instead of main. Then we could see the whole thing working end-to-end before landing it.
Should these be called Axiom, or Coral, as it's Coral that we're interacting with here?
The overall behaviour matches our plan I believe, but from the perpsective of a new developer familiar with GitHub Actions inspecting this code, this code would be quite confusing. Could you please explain concisely in comments the behaviour that would be surprising to somebody in that position? I suppose that's 1) Coral watches for this specific job by name (actually, does it any more?); 2) Coral will approve the environment deploy if Axiom reports passed; 3) the release job is intended to continue if Axiom isn't enabled.
Is this intended to apply only to the release flow, or additionally to dailies and PRs? For PRs, is there a race between the PR being filed and this new job running where the PR will appear to pass without the Coral check appearing yet? If so, maybe we should address that by explicitly adding the check in advance?
|
|
||
| AXIOM_Check: | ||
| name: AXIOM_Check | ||
| if: ${{ inputs.release && vars.AXIOM_ENABLE == '1' }} |
There was a problem hiding this comment.
If vars.AXIOM_ENABLE == 'true', then this won't enable Axiom. What's conventional in the GitHub Actions space to deal with this without surprises, please?
There was a problem hiding this comment.
yes true, It's recommended and idle way to do this is using 'true' rather 1, as GitHub variable is string, I updated it to the 'true', Is it okay with that or should we keep both 'true' and '1' so it can enable based on anyone.
There was a problem hiding this comment.
I'm fine with whatever is the established convention.
29fc44b to
3fbe6bc
Compare
|
Please review this PR This I have created with the enable-axiom branch as you suggested. |
|
I have tested the the Axiom and Production environment gates in below workflows with the pkg-android-platform-tools repo Debusine Daily: https://github.com/qualcomm-linux/pkg-android-platform-tools/actions/runs/27607525489 |
3fbe6bc to
456c8f3
Compare
baabd8a to
2f7fe74
Compare
2f7fe74 to
44d1c89
Compare
|
Tested here: With the debusine-action@enable-axiom |
44d1c89 to
7029e3e
Compare
Robie Basak (basak-qcom)
left a comment
There was a problem hiding this comment.
This looks good, thanks.
I'd like to see it all working end-to-end before landing though please. I was expecting to see check run results against the commit tested by Axiom. Is that side operational yet please?
| debusine-action/lib/generate-step-summary | ||
|
|
||
| AXIOM_Check: | ||
| name: AXIOM_Check |
There was a problem hiding this comment.
Can this be just AXIOM Check as it's a user readable name that appears in the UI? The job ID can stay as AXIOM_Check of course.
There was a problem hiding this comment.
Yes sure, I updated it.
|
|
||
| AXIOM_Check: | ||
| name: AXIOM_Check | ||
| if: ${{ inputs.release && vars.AXIOM_ENABLE == '1' }} |
There was a problem hiding this comment.
I'm fine with whatever is the established convention.
c194773 to
ebf0e4c
Compare
ebf0e4c to
b5e57cb
Compare
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
b5e57cb to
8967b91
Compare
- Add AXIOM_Check job bound to the AXIOM_CHECK environment, which sits between build and release and is auto-approved by the service account once AXIOM tests pass. - Make the gate opt-in per caller repo via the AXIOM_ENABLE variable: set to 'true' to enforce AXIOM_Check, unset or 'false' to skip it and fall back to the existing Production manual review only for the AXIOM disable targets. Signed-off-by: Vedant Rokad <vrokad@qti.qualcomm.com>
8967b91 to
1e8170b
Compare
Add workflow_kind input and gate AXIOM execution using workflow-specific enablement variables. This allows enabling/disabling AXIOM checks per service/workflow instead of applying a global setting. Signed-off-by: Vedant Rokad <vrokad@qti.qualcomm.com>
|
Base Commit: 74b81f5 (AXIOM Enable Globally for all the services: As discussed earlier) Tested Workflows: Gated: https://github.com/qualcomm-linux/pkg-android-platform-tools/actions/runs/31419788506 |
- Add the workflow kind parameter into master copy for AXIOM Enablement based on service Signed-off-by: Vedant Rokad <vrokad@qti.qualcomm.com>
Signed-off-by: Vedant Rokad <vrokad@qti.qualcomm.com>
Uh oh!
There was an error while loading. Please reload this page.