From 8c6a48f1bee25021c553c08e601283175f87f2ae Mon Sep 17 00:00:00 2001 From: Akanksha Trehun Date: Wed, 28 Oct 2026 20:57:25 +0530 Subject: [PATCH] chore: add contributing guidance, a PR template, and Dependabot --- .github/dependabot.yml | 10 +++++++ .github/pull_request_template.md | 9 ++++++ CONTRIBUTING.md | 47 ++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/pull_request_template.md create mode 100644 CONTRIBUTING.md diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..632e8eb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + - package-ecosystem: gomod + directory: / + schedule: + interval: weekly diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..fccd13c --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,9 @@ + + +## What and why + +## How it was tested + +- [ ] `go vet ./...` and `go test ./...` pass +- [ ] The README or CONTRACT.md is updated if behavior changed +- [ ] A breaking change is marked with `!` in the title and described above diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b7de6e9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,47 @@ +# Contributing + +## Pull request titles + +Pull requests are squash-merged, so the PR title becomes the commit message on `main` and decides +whether a release is published. Titles follow [Conventional Commits](https://www.conventionalcommits.org/): + +``` +type(scope): summary +``` + +The scope is optional, and a CI check rejects titles that do not match. + +| Type | Use it for | Release | +| --- | --- | --- | +| `feat` | A new capability | minor | +| `fix`, `perf`, `revert` | A bug fix, speedup, or revert | patch | +| `docs`, `refactor`, `test`, `build`, `ci`, `style`, `chore` | Anything else | none | + +Add `!` after the type or scope for a breaking change and describe what breaks in the PR body. It +releases a new major version. + +## Releases + +Merging a `feat`, `fix`, `perf`, `revert`, or breaking change to `main` tags `vX.Y.Z` and publishes a +GitHub release with archives, `checksums.txt`, build provenance, and Homebrew formulas. The version is +chosen from the commit messages since the last tag, and the first release is 0.1.0. + +## Local checks + +``` +gofmt -l . +go vet ./... +go test ./... +GOOS=windows go vet ./... +``` + +## Profilers + +What a profiler must do is in [CONTRACT.md](CONTRACT.md). `CoreSchema` in `profile.go` is the core +schema version this release targets; change it together with the profilers' supported versions. + +## Maintainer setup + +- Merge with "Squash and merge", using the PR title as the commit message. +- Require the `title` and `verify` checks on `main`. +- Copy `rc.rb` and `rc-profiler-go.rb` from each release into `runtimeconditions/homebrew-tools`.