mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-21 10:16:44 +00:00
fix(ci): forward live QA credentials to maturity generation (#112201)
This commit is contained in:
@@ -45,6 +45,12 @@ on:
|
||||
OPENCLAW_MATURITY_SCORECARD_AGENT_OPENAI_API_KEY:
|
||||
description: Optional OpenAI API key used by maturity scorecard agent steps
|
||||
required: false
|
||||
OPENCLAW_QA_CONVEX_SITE_URL:
|
||||
description: Optional Convex credential broker URL supplied by qa-live-shared
|
||||
required: false
|
||||
OPENCLAW_QA_CONVEX_SECRET_CI:
|
||||
description: Optional Convex CI credential supplied by qa-live-shared
|
||||
required: false
|
||||
# Mixed-trigger workflows must declare referenced secrets for actionlint. Reusable calls
|
||||
# remain artifact-only because exact caller and job workflow identities gate every use.
|
||||
CLAWSWEEPER_APP_PRIVATE_KEY:
|
||||
@@ -317,6 +323,8 @@ jobs:
|
||||
qa_profile: all
|
||||
secrets:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
|
||||
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
|
||||
|
||||
publish:
|
||||
name: Publish maturity docs PR
|
||||
|
||||
@@ -971,6 +971,8 @@ jobs:
|
||||
expected_sha: ${{ needs.resolve_target.outputs.revision }}
|
||||
secrets:
|
||||
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
||||
OPENCLAW_QA_CONVEX_SITE_URL: ${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}
|
||||
OPENCLAW_QA_CONVEX_SECRET_CI: ${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}
|
||||
|
||||
qa_lab_parity_lane_release_checks:
|
||||
name: Run QA Lab parity lane (${{ matrix.lane }})
|
||||
|
||||
@@ -4607,8 +4607,15 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
|
||||
"MANTIS_GITHUB_APP_PRIVATE_KEY",
|
||||
"OPENAI_API_KEY",
|
||||
"OPENCLAW_MATURITY_SCORECARD_AGENT_OPENAI_API_KEY",
|
||||
"OPENCLAW_QA_CONVEX_SECRET_CI",
|
||||
"OPENCLAW_QA_CONVEX_SITE_URL",
|
||||
]);
|
||||
for (const secret of ["CLAWSWEEPER_APP_PRIVATE_KEY", "MANTIS_GITHUB_APP_PRIVATE_KEY"]) {
|
||||
for (const secret of [
|
||||
"CLAWSWEEPER_APP_PRIVATE_KEY",
|
||||
"MANTIS_GITHUB_APP_PRIVATE_KEY",
|
||||
"OPENCLAW_QA_CONVEX_SECRET_CI",
|
||||
"OPENCLAW_QA_CONVEX_SITE_URL",
|
||||
]) {
|
||||
expect(maturityWorkflow.on.workflow_call.secrets[secret].required).toBe(false);
|
||||
}
|
||||
expect(qaEvidenceWorkflow.on.workflow_dispatch.inputs).not.toHaveProperty("fail_on_qa_failure");
|
||||
@@ -4645,6 +4652,11 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
|
||||
qa_profile: "all",
|
||||
});
|
||||
expect(generateJob.with).not.toHaveProperty("fail_on_qa_failure");
|
||||
expect(generateJob.secrets).toMatchObject({
|
||||
OPENAI_API_KEY: "${{ secrets.OPENAI_API_KEY }}",
|
||||
OPENCLAW_QA_CONVEX_SECRET_CI: "${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}",
|
||||
OPENCLAW_QA_CONVEX_SITE_URL: "${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}",
|
||||
});
|
||||
|
||||
const workflowStep = maturityWorkflow.jobs.validate_selected_ref.steps.find(
|
||||
(step: WorkflowStep) => step.name === "Resolve job workflow identity",
|
||||
@@ -5019,7 +5031,11 @@ printf '%s\n' "\${CURL_SUCCESS_IP:-203.0.113.7}"
|
||||
});
|
||||
expect(job.with).not.toHaveProperty("qa_profile");
|
||||
expect(job.with).not.toHaveProperty("publish_pull_request");
|
||||
expect(Object.keys(job.secrets)).toEqual(["OPENAI_API_KEY"]);
|
||||
expect(job.secrets).toMatchObject({
|
||||
OPENAI_API_KEY: "${{ secrets.OPENAI_API_KEY }}",
|
||||
OPENCLAW_QA_CONVEX_SECRET_CI: "${{ secrets.OPENCLAW_QA_CONVEX_SECRET_CI }}",
|
||||
OPENCLAW_QA_CONVEX_SITE_URL: "${{ secrets.OPENCLAW_QA_CONVEX_SITE_URL }}",
|
||||
});
|
||||
expect(summaryJob.needs).toContain("maturity_scorecard_release_checks");
|
||||
expect(verifyStep.env.MATURITY_SCORECARD_RELEASE_CHECKS_RESULT).toBe(
|
||||
"${{ needs.maturity_scorecard_release_checks.result }}",
|
||||
|
||||
Reference in New Issue
Block a user