ci(release): serialize Telegram CI bot consumers

This commit is contained in:
Peter Steinberger
2026-05-28 22:40:35 +01:00
parent e69855e68c
commit 6d39b94a7b
5 changed files with 36 additions and 0 deletions

View File

@@ -261,6 +261,9 @@ jobs:
if: ${{ needs.resolve_request.outputs.should_run == 'true' }}
runs-on: ubuntu-24.04
timeout-minutes: 180
concurrency:
group: openclaw-telegram-ci-credential
cancel-in-progress: false
environment: qa-live-shared
outputs:
comparison_status: ${{ steps.run_mantis.outputs.comparison_status }}

View File

@@ -111,6 +111,9 @@ jobs:
runs-on: blacksmith-32vcpu-ubuntu-2404
continue-on-error: ${{ inputs.advisory }}
timeout-minutes: 60
concurrency:
group: openclaw-telegram-ci-credential
cancel-in-progress: false
environment: qa-live-shared
permissions:
actions: read

View File

@@ -1156,6 +1156,9 @@ jobs:
continue-on-error: true
runs-on: ubuntu-24.04
timeout-minutes: 60
concurrency:
group: openclaw-telegram-ci-credential
cancel-in-progress: false
permissions:
contents: read
pull-requests: read

View File

@@ -482,6 +482,9 @@ jobs:
needs: [authorize_actor, validate_selected_ref]
runs-on: blacksmith-8vcpu-ubuntu-2404
timeout-minutes: 60
concurrency:
group: openclaw-telegram-ci-credential
cancel-in-progress: false
environment: qa-live-shared
steps:
- name: Checkout selected ref

View File

@@ -32,6 +32,10 @@ type WorkflowStep = {
};
type WorkflowJob = {
concurrency?: {
group?: string;
"cancel-in-progress"?: boolean | string;
};
env?: Record<string, string>;
if?: string;
name?: string;
@@ -1180,6 +1184,26 @@ describe("package artifact reuse", () => {
]);
});
it("serializes CI Telegram bot consumers across release and QA workflows", () => {
const sharedTelegramCredential = {
group: "openclaw-telegram-ci-credential",
"cancel-in-progress": false,
};
expect(workflowJob(NPM_TELEGRAM_WORKFLOW, "run_package_telegram_e2e").concurrency).toEqual(
sharedTelegramCredential,
);
expect(
workflowJob(RELEASE_CHECKS_WORKFLOW, "qa_live_telegram_release_checks").concurrency,
).toEqual(sharedTelegramCredential);
expect(workflowJob(QA_LIVE_TRANSPORTS_WORKFLOW, "run_live_telegram").concurrency).toEqual(
sharedTelegramCredential,
);
expect(
workflowJob(".github/workflows/mantis-telegram-live.yml", "run_telegram_live").concurrency,
).toEqual(sharedTelegramCredential);
});
it("keeps release QA and repo E2E lanes off scarce 32-core runners", () => {
const releaseChecksWorkflow = readFileSync(RELEASE_CHECKS_WORKFLOW, "utf8");
const qaWorkflow = readFileSync(QA_LIVE_TRANSPORTS_WORKFLOW, "utf8");