diff --git a/.github/release-please-config.json b/.github/release-please-config.json new file mode 100644 index 0000000..62c1991 --- /dev/null +++ b/.github/release-please-config.json @@ -0,0 +1,36 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "release-type": "simple", + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "include-component-in-tag": true, + "include-v-in-tag": true, + "tag-separator": "@", + "separate-pull-requests": true, + "changelog-sections": [ + { + "type": "feat", + "section": "Features", + "hidden": false + }, + { + "type": "fix", + "section": "Bug Fixes", + "hidden": false + } + ], + "packages": { + "actions/semconv/pull-request": { + "component": "semconv-pull-request" + } + }, + "plugins": [ + { + "type": "sentence-case" + } + ], + "draft": false, + "draft-pull-request": false, + "prerelease": false, + "signoff": "SHT Bot <61149376+sht-bot@users.noreply.github.com>" +} diff --git a/.github/release-please-manifest.json b/.github/release-please-manifest.json new file mode 100644 index 0000000..4087617 --- /dev/null +++ b/.github/release-please-manifest.json @@ -0,0 +1,3 @@ +{ + "actions/semconv/pull-request": "0.0.0" +} diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..3611326 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,24 @@ +name: Release Please + +on: + push: + branches: [main] + +permissions: {} + +jobs: + release-please: + name: Release Please + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: write + pull-requests: write + steps: + # The PAT rather than github.token, so the release pull request and the + # tag it produces trigger the workflows that react to them. + - uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0 + with: + token: ${{ secrets.GH_PAT_RELEASE_PLEASE_ACTION }} + config-file: .github/release-please-config.json + manifest-file: .github/release-please-manifest.json diff --git a/README.md b/README.md index 284e822..4fcfd23 100644 --- a/README.md +++ b/README.md @@ -1 +1,29 @@ # github-actions + +**The one place [TrogonStack][trogonstack] and [straw-hat-team][straw-hat-team] +keep the checks every repository runs.** One copy of each check, versioned, so +that fixing it once fixes it everywhere. + +**Each check ships as a composite action with its opinions already decided.** An +action here wraps a maintained upstream tool, pins it to a commit, and fixes its +configuration so consumers inherit a decision rather than repeat it. Only the +settings that genuinely differ between repositories are left as inputs. + +**It exists because a check drifts the moment it is copied.** Conventional +commit validation was enforced across fifteen repositories by four separate +implementations that had quietly stopped agreeing on which types were allowed, +which is the same as not enforcing it at all. A single implementation means one +change reaches every consumer instead of fifteen edits nobody finishes. + +**It is for maintainers of repositories in either organization**, and for anyone +setting a new one up who would rather inherit the conventions than rediscover +them. Nothing here is specific to either organization's private work, so an +action is equally usable from a public repository. + +The actions live in [`actions/`](actions), each with its own `README.md`, +version tagged `@vX.Y.Z`, and `CHANGELOG.md`. + +To work on this repository, run `mise run github:actions:ci:lint`. + +[trogonstack]: https://github.com/TrogonStack +[straw-hat-team]: https://github.com/straw-hat-team