diff --git a/.github/workflows/conventional-pr.yml b/.github/workflows/conventional-pr.yml deleted file mode 100644 index b15d49d..0000000 --- a/.github/workflows/conventional-pr.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: conventional-pr - -on: - pull_request_target: - types: - - opened - - edited - - synchronize - - reopened - -jobs: - title: - runs-on: ubuntu-latest - steps: - - name: Validate pull request title - env: - TITLE: ${{ github.event.pull_request.title }} - run: | - regex='^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\([^)]+\))?!?: .+$' - if [[ ! "$TITLE" =~ $regex ]]; then - echo "PR title must follow Conventional Commits, for example: feat: add queue preview" - echo "Received: $TITLE" - exit 1 - fi diff --git a/AGENTS.md b/AGENTS.md index e514bcd..8cfe90b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,8 +24,6 @@ addition to the global baseline instructions. ## Commits And Releases - Use Conventional Commits for commit subjects. -- Keep pull request titles conventional as well; the release flow depends on - it. - Before touching release behavior or release automation, read [docs/releasing.md](docs/releasing.md). @@ -34,4 +32,3 @@ addition to the global baseline instructions. - Do not commit local build outputs such as the root `stack` binary. - If a generated or built artifact appears repeatedly during normal work, add it to `.gitignore` in the same change that introduces the behavior. - diff --git a/docs/releasing.md b/docs/releasing.md index 7288527..9f622bf 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -1,11 +1,14 @@ # Releasing -This repo uses conventional commits plus `release-please` and `goreleaser`. +This repo uses conventional commits on `main` plus `release-please` and +`goreleaser`. ## Release model -- Pull request titles should follow Conventional Commits. -- Release-bearing changes should land on `main` via squash or rebase merges so the final commit subject stays conventional. +- Release-bearing changes should land on `main` with conventional commit + subjects. +- Prefer squash or rebase merges for release-bearing PRs so `main` keeps + parseable release commits. - `release-please` watches `main`, opens a release PR, updates `CHANGELOG.md`, and bumps the version manifest. - Merging the release PR triggers `tag-release`, which creates the Git tag from the merged release commit. - Tag pushes trigger `goreleaser`, which builds artifacts, creates the GitHub Release, and updates `hack-dance/homebrew-tap`.