From a9f58d34a28b1dcf682759fcc99bc486f5b1b8d0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 29 Apr 2026 07:00:13 +0100 Subject: [PATCH] ci: skip release-only extension aggregate on main --- .github/workflows/ci.yml | 6 ++++-- test/scripts/plugin-prerelease-test-plan.test.ts | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 658e908844e..ee14cc55e50 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,7 @@ jobs: run_checks_fast: ${{ steps.manifest.outputs.run_checks_fast }} checks_fast_core_matrix: ${{ steps.manifest.outputs.checks_fast_core_matrix }} channel_contracts_matrix: ${{ steps.manifest.outputs.channel_contracts_matrix }} + run_checks_node_extensions: ${{ steps.manifest.outputs.run_checks_node_extensions }} checks_node_extensions_matrix: ${{ steps.manifest.outputs.checks_node_extensions_matrix }} run_checks: ${{ steps.manifest.outputs.run_checks }} checks_matrix: ${{ steps.manifest.outputs.checks_matrix }} @@ -304,6 +305,7 @@ jobs: channel_contracts_matrix: createMatrix( runNodeFull ? createChannelContractTestShards() : [], ), + run_checks_node_extensions: runReleaseOnlyPluginSuites, checks_node_extensions_matrix: extensionShardMatrix, run_checks: runNodeFull, checks_matrix: createMatrix( @@ -993,7 +995,7 @@ jobs: contents: read name: ${{ matrix.check_name }} needs: [preflight] - if: needs.preflight.outputs.run_checks_fast == 'true' + if: needs.preflight.outputs.run_checks_node_extensions == 'true' runs-on: ${{ matrix.runner }} timeout-minutes: 60 strategy: @@ -1066,7 +1068,7 @@ jobs: contents: read name: checks-node-extensions needs: [preflight, checks-node-extensions-shard] - if: ${{ !cancelled() && always() && needs.preflight.outputs.run_checks_fast == 'true' }} + if: ${{ !cancelled() && always() && needs.preflight.outputs.run_checks_node_extensions == 'true' }} runs-on: ubuntu-24.04 timeout-minutes: 5 steps: diff --git a/test/scripts/plugin-prerelease-test-plan.test.ts b/test/scripts/plugin-prerelease-test-plan.test.ts index 2ad64f57984..20061613d44 100644 --- a/test/scripts/plugin-prerelease-test-plan.test.ts +++ b/test/scripts/plugin-prerelease-test-plan.test.ts @@ -110,6 +110,8 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => { it("wires the full plugin prerelease plan into the mega CI workflow", () => { const workflow = readCiWorkflow(); const preflight = workflow.jobs.preflight; + const extensionShard = workflow.jobs["checks-node-extensions-shard"]; + const extensionSuite = workflow.jobs["checks-node-extensions"]; const staticShard = workflow.jobs["plugin-prerelease-static-shard"]; const dockerSuite = workflow.jobs["plugin-prerelease-docker-suite"]; const suite = workflow.jobs["plugin-prerelease-suite"]; @@ -127,6 +129,7 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => { plugin_prerelease_static_matrix: "${{ steps.manifest.outputs.plugin_prerelease_static_matrix }}", run_plugin_prerelease_suite: "${{ steps.manifest.outputs.run_plugin_prerelease_suite }}", + run_checks_node_extensions: "${{ steps.manifest.outputs.run_checks_node_extensions }}", }); expect(staticShard).toMatchObject({ name: "${{ matrix.check_name }}", @@ -147,6 +150,7 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => { expect(manifestScript).toContain( "let runPluginPrereleaseSuite =\n isFullReleaseValidationCiRun && runNodeFull && isCanonicalRepository;", ); + expect(manifestScript).toContain("run_checks_node_extensions: runReleaseOnlyPluginSuites"); expect(normalCiScript).toContain( 'dispatch_and_wait ci.yml -f target_ref="$TARGET_SHA" -f full_release_validation=true', ); @@ -159,6 +163,10 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => { expect(staticShard.strategy.matrix).toBe( "${{ fromJson(needs.preflight.outputs.plugin_prerelease_static_matrix) }}", ); + expect(extensionShard.if).toBe("needs.preflight.outputs.run_checks_node_extensions == 'true'"); + expect(extensionSuite.if).toBe( + "${{ !cancelled() && always() && needs.preflight.outputs.run_checks_node_extensions == 'true' }}", + ); expect( staticShard.steps.find((step) => step.name === "Run plugin prerelease static shard").run, ).toContain('bash -c "$PLUGIN_PRERELEASE_COMMAND"');