Skip to content

chore: merge pull request #1148 from halcwb/feat/985-contract #531

chore: merge pull request #1148 from halcwb/feat/985-contract

chore: merge pull request #1148 from halcwb/feat/985-contract #531

Workflow file for this run

name: Release
# Runs ShipIt on every push to master to open/update a release PR with the next version
# and changelog section. Deliberately its own workflow, not a job in build.yml: a ShipIt
# failure must never block the test/format matrix that already ran (and gated) the PR
# that got merged to produce this push. See ADR-0005 and the #234 implementation plan,
# step 5.
on:
push:
branches: [ master ]
permissions:
contents: write
pull-requests: write
jobs:
shipit:
name: ShipIt - Release PR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
# ShipIt walks conventional-commit history back to the last_commit_released
# pin in CHANGELOG.md's front matter; a shallow checkout could stop short of it.
fetch-depth: 0
- name: Use .NET Core 10.0 SDK
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
with:
global-json-file: global.json
cache: true
cache-dependency-path: |
global.json
.config/dotnet-tools.json
- name: Tool restore
run: dotnet tool restore
- name: ShipIt (Pull Request)
# --allow-branch: this repo's default branch is master, not ShipIt's main-branch default.
# --skip-merge-commit: existing history has `Merge pull request ...` commits ShipIt can't
# parse. --skip-invalid-commit: a non-conventional commit (e.g. a GitHub-UI "commit
# suggestion", which bypasses the local Husky commit-msg hook) can still reach master if a
# required commit-lint check is overridden on merge; without this flag ShipIt throws
# FailedToParseCommit and this whole workflow fails closed instead of just dropping that
# one commit from the changelog (see issue and incident referenced in DEVELOPMENT.md).
# All three flags are required for every invocation against this repo (see DEVELOPMENT.md).
# No --mode flag: defaults to pull-request, matching ADR-0005's decision that ShipIt opens
# a release PR for review rather than pushing directly to master.
run: dotnet shipit --allow-branch master --skip-merge-commit --skip-invalid-commit
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}