Final checks before submitting a pull request. Use when preparing to create a PR, to ensure formatting, linting, and the correct tests have been run.
Pre-PR Checklist
Run through this checklist before creating a pull request. It ensures code quality gates pass and the right tests have been executed.
Step 1: Run cargo make fix
Always required. This runs rustfmt and clippy with automatic fixes:
cargo make fix
Address any remaining warnings or errors that couldn't be auto-fixed.
Step 2: Run the Right Tests
Choose tests based on what you changed. Do not run cargo make test — it runs everything and takes a very long time.
What Changed
Test Command
Core logic, shared types, utilities
cargo make unit-tests
Worker executor functionality
cargo make worker-executor-tests
Service integration
cargo make integration-tests
CLI changes
cargo make cli-integration-tests
HTTP API endpoints
cargo make api-tests-http
gRPC API endpoints
cargo make api-tests-grpc
Rust SDK (sdks/rust/)
cargo test -p golem-rust + cargo make worker-executor-tests
TypeScript SDK (sdks/ts/)
npx pnpm run test (in sdks/ts/) + cargo make cli-integration-tests
MoonBit SDK (sdks/moonbit/)
moon test (in sdks/moonbit/golem_sdk/)
CLI structured output/schema
cargo test -p golem-cli cli_output_schema_ --lib + cargo make check-cli-output-schema
CLI JSON output affecting skill tests
Update affected golem-skills/tests/harness code, tests, or scenarios. Run npm run build && npm test in golem-skills/tests/harness only if harness TypeScript code/tests changed.
If your change spans multiple areas, run multiple test suites.
Worker executor test groups
For faster iteration, worker executor tests can be run by group:
cargo make worker-executor-tests-group1
cargo make worker-executor-tests-group2
cargo make worker-executor-tests-misc
Step 3: Regenerate Artifacts (if applicable)
What Changed
Regeneration Command
HTTP API endpoints
cargo make generate-openapi then cargo clean -p golem-client && cargo build -p golem-client (also refreshes docs/src/content/rest-api/*.mdx)
Service config structs/defaults
cargo make generate-configs
WIT interfaces
cargo make wit
TS SDK runtime code
npx pnpm run build-agent-template (in sdks/ts/)
Skill catalog (golem-skills/skills/**)
cargo make generate-docs-skills (refreshes docs/src/content/how-to-guides/*.mdx)