hanahmily commented on code in PR #1035: URL: https://github.com/apache/skywalking-banyandb/pull/1035#discussion_r3015531579
########## .claude/skills/gh-pull-request/SKILL.md: ########## @@ -0,0 +1,98 @@ +--- +name: gh-pull-request +description: Create a GitHub pull request for SkyWalking BanyanDB. Use when the user asks to create a PR, submit changes, or open a pull request. +allowed-tools: Bash, Read, Grep, Glob +--- + +# Creating a Pull Request for SkyWalking BanyanDB + +## Branch Rules + +**Always create a PR from a new branch.** Never push directly to `main`. This is the same convention as the main Apache SkyWalking repo (https://github.com/apache/skywalking). + +```bash +git checkout -b <descriptive-branch-name> +``` + +## Local Checks Before Creating PR + +Run these checks locally before pushing. They mirror the CI `check` job and PR-blocking tests in `.github/workflows/ci.yml`. + +### Required: Code Generation and Build + +```bash +make generate +make build +``` + +### Required: Linting and Formatting + +```bash +make lint +make check +``` + +`make check` verifies formatting (gofumpt), go mod tidy, and ensures no uncommitted generated file diffs. + +### Required: License Headers + +```bash +make license-check +``` + +All source files must have Apache 2.0 license headers. + +### Required: Update CHANGES.md + +Add a one-line entry under the current development version section in `CHANGES.md` (at the repo root). Place it under the appropriate subsection (`### Features`, `### Bug Fixes`, etc.). + +### Required: Run Unit Tests for Changed Packages + +Run tests for the packages you changed: + +```bash +make test PKG=./banyand/... +make test PKG=./bydbctl/... +make test PKG=./pkg/... +make test PKG=./fodc/... +``` + +### Recommended: Integration Tests + +```bash +make test PKG=./test/integration/standalone/... +make test PKG=./test/integration/distributed/... +``` Review Comment: ### Unit Tests Run these test packages. Each can run in parallel if the user's machine has enough cores, but it's fine to run them sequentially: ```bash make test-ci PKG=./banyand/... make test-ci PKG=./bydbctl/... make test-ci PKG=./pkg/... make test-ci PKG=./fodc/... ``` The CI uses these options: `--vv --fail-fast --label-filter \!slow` with coverage flags. For local runs, use a simplified form unless the user asks for full CI parity: ```bash TEST_CI_OPTS="--vv --fail-fast --label-filter \!slow" make test-ci PKG=./banyand/... ``` ### Integration Tests Run these after unit tests pass: ```bash make test-ci PKG=./test/integration/standalone/... make test-ci PKG=./test/integration/distributed/... ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
