Skip to content

Refresh demo browser bundle #60

Refresh demo browser bundle

Refresh demo browser bundle #60

name: Release Readiness
on:
pull_request:
branches: [ main, develop ]
permissions:
contents: read
jobs:
release-readiness:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Detect release-affecting changes
id: detect
run: |
node ./scripts/release-readiness.js detect \
--base-sha "${{ github.event.pull_request.base.sha }}" \
--head-sha "${{ github.event.pull_request.head.sha }}" \
--event-path "$GITHUB_EVENT_PATH" \
--github-output "$GITHUB_OUTPUT"
- name: Summarize non-release-affecting PR
if: steps.detect.outputs.release_affecting != 'true'
run: echo "No release-affecting paths matched; release-readiness passes without running publish smoke."
- name: Enforce changeset guardrail
if: steps.detect.outputs.changeset_guardrail_required == 'true' && steps.detect.outputs.changeset_guardrail_ok != 'true'
run: |
echo "release-readiness matched risky publish-facing paths but found no pending changeset."
echo "Add a .changeset/*.md file or apply the no-release label when the PR should intentionally bypass release metadata."
exit 1
- name: Setup release-readiness runtime
if: steps.detect.outputs.release_affecting == 'true' && steps.detect.outputs.changeset_guardrail_ok == 'true'
uses: ./.github/actions/setup-publish-runtime
with:
node-version: "24"
use-pnpm: "true"
install-dependencies: "true"
update-npm: "false"
required-commands: "node,npm,pnpm"
min-npm-version: "11.5.1"
label: "release-readiness"
- name: Run release-readiness checks
if: steps.detect.outputs.release_affecting == 'true' && steps.detect.outputs.changeset_guardrail_ok == 'true'
run: node ./scripts/release-readiness.js check