diff --git a/.github/workflows/auto-backmerge.yml b/.github/workflows/auto-backmerge.yml index 37fc83931..58638e92a 100644 --- a/.github/workflows/auto-backmerge.yml +++ b/.github/workflows/auto-backmerge.yml @@ -141,6 +141,16 @@ jobs: echo "dropped_oneline=" >> "$GITHUB_OUTPUT" fi + # The version bump below fires the `version` npm lifecycle hook, which runs + # gen-capability-registry.cjs. That validator lazily require()s the built + # gsd-core/bin/lib/capability-ledger.cjs (a build:lib output, gitignored); + # when it is absent the bounded fragment reader falls back to a fail-closed + # stub and every capability fragment reports "could not be read", failing + # the sync. Build the ledger first so fragments materialize. + - name: Install dependencies and build (required by the version-sync hook) + if: steps.check.outputs.next_exists == 'true' + run: npm ci --silent && npm run build:lib + - name: Sync next's version to main's released version if: steps.check.outputs.next_exists == 'true' run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f39cf0242..19e5ec846 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -507,7 +507,10 @@ jobs: needs: [validate-version, install-smoke-finalize] if: inputs.action == 'finalize' runs-on: ubuntu-latest - timeout-minutes: 10 + # Matches the rc job's budget: `npm ci` + `npm run test:coverage:unit` now + # exceeds 10m as the unit suite grows, so a 10m cap cancels the job mid-test + # before tag/publish. 30m gives the same headroom rc already relies on. + timeout-minutes: 30 permissions: contents: write pull-requests: write