Skip to content

fix(website): exclude the product build's receipt from publication inputs #8871

fix(website): exclude the product build's receipt from publication inputs

fix(website): exclude the product build's receipt from publication inputs #8871

Workflow file for this run

# A change to the integration-contract index or a component is a contract change. Its PR is
# titled `CONTRACT:` and labelled `contract`, and a PR that is titled or
# labelled that way changes the doc. The rule is scripts/check-contract-pr.ts;
# CONTRIBUTING.md says what it enforces.
#
# This is its own workflow rather than a job in ci.yml because the verdict
# depends on the title and the labels, and editing either must re-run it.
# Adding `edited` and `labeled` to ci.yml would re-run the whole suite on
# every label change.
#
# The title and labels reach the script through environment variables, never
# through an expression inside `run`: a PR title is attacker-controlled text.
#
# The comparison base is the one the PR declares, read from the PR at run time
# with the read-only token. `github.base_ref` is not it: for an upper layer of a
# native stack, `edited` events report the stack's base (`main`), and the gate
# then charged the layer with its parent's contract edit (#2650). The event's
# value is passed only so the log shows a disagreement.
name: contract
on:
pull_request:
types: [opened, edited, synchronize, reopened, labeled, unlabeled]
permissions:
contents: read
concurrency:
group: contract-${{ github.event.pull_request.number }}
cancel-in-progress: true
# GitHub Actions runs this gate for every ordinary pull request.
jobs:
contract:
runs-on: ubuntu-24.04
steps:
# The PR's head commit, not the default synthetic merge commit: the
# merge commit, diffed against the base, drops a doc edit that also
# landed on the base through another PR. Full history for the merge base.
- uses: actions/checkout@v7
with:
persist-credentials: false
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.4.2"
- name: Match the CONTRACT title and label to the contract doc
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
EVENT_BASE_REF: ${{ github.base_ref }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
PR_TITLE: ${{ github.event.pull_request.title }}
PR_LABELS: ${{ toJSON(github.event.pull_request.labels.*.name) }}
run: bun scripts/check-contract-pr.ts --declared-base "$HEAD_SHA"