Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

standard-release (GitHub reusable workflow)

The driftsys default release pipeline as a GitHub Actions reusable workflow. One adoption line gets you commit-message validation on every PR plus a semver bump-and-tag plus a published release page with auto-generated notes on every push to the default branch.

It’s a thin preset over the commitlint, release, and release-notes actions — same defaults, fewer lines of YAML in your repo.

Inputs

NameRequiredDefaultDescription
rangeno${{ github.event.pull_request.base.sha }}..HEADCommit range commitlint validates on PRs.
remotenooriginRemote the release job pushes to.
dry-runnofalseIf true, the release job bumps + tags but skips push.

Example

# .github/workflows/ci.yml
name: CI
on:
  pull_request:
  push:
    branches: [main]

jobs:
  release:
    permissions:
      contents: write
    uses: driftsys/ci/.github/workflows/standard-release.yml@v0

Notes

  • The caller’s job needs contents: write so the release and release-notes jobs can push the tag and publish the release page.
  • Job gates: commitlint runs on pull_request; release and release-notes run on push to main. The reusable workflow handles all gating internally.
  • release-notes runs after release and is skipped when dry-run: true.
  • The actual workflow file lives at .github/workflows/standard-release.yml; this directory only holds the docs chapter.