Skip to content

Commit adb8209

Browse files
authored
Merge branch 'main' into dubloom/process-tags-adjustments
2 parents 6f0969e + ae9b6a7 commit adb8209

File tree

428 files changed

+26134
-11914
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

428 files changed

+26134
-11914
lines changed

.claude/settings.local.json

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,38 @@
55
"Bash(grep:*)",
66
"Bash(python:*)",
77
"Bash(./scripts/events/generate_stub.py:*)",
8-
"Bash(hatch run lint:typing:*)",
98
"Bash(./scripts/ddtest:*)",
10-
"mcp__github__search_pull_requests",
11-
"mcp__github__get_pull_request",
12-
"mcp__atlassian__getJiraIssue",
13-
"mcp__github__get_pull_request_review_comments",
9+
"Bash(scripts/ddtest:*)",
10+
"Bash(scripts/run-tests:*)",
11+
"Bash(gh pr list:*)",
12+
"Bash(git remote:*)",
13+
"Bash(pyenv versions:*)",
14+
"Bash(pyenv virtualenv:*)",
15+
"Bash(mkdir:*)",
16+
"Bash(docker compose build:*)",
1417
"Bash(riot list:*)",
15-
"Read(//Users/brett.langdon/datadog/riot/**)",
18+
"Bash(riot -v run:*)",
1619
"Bash(hatch run docs:*)",
20+
"Bash(hatch run lint:fmt:*)",
21+
"Bash(hatch run lint:typing:*)",
22+
"Bash(hatch run lint:sg:*)",
1723
"Bash(cargo:*)",
1824
"Bash(source:*)",
1925
"Bash(pip install:*)",
20-
"WebFetch(domain:ast-grep.github.io)",
2126
"Bash(git grep:*)",
2227
"Bash(ast-grep scan:*)",
23-
"Bash(hatch run lint:sg:*)",
2428
"Bash(awk:*)",
25-
"mcp__github__pull_request_read",
29+
"WebFetch(domain:ast-grep.github.io)",
2630
"WebFetch(domain:github.com)",
31+
"WebFetch(domain:raw.githubusercontent.com)",
32+
"mcp__atlassian__getJiraIssue",
33+
"mcp__github__search_pull_requests",
34+
"mcp__github__get_pull_request",
35+
"mcp__github__get_pull_request_review_comments",
36+
"mcp__github__pull_request_read",
2737
"Skill(run-tests)",
28-
"Bash(scripts/run-tests:*)",
29-
"Bash(gh pr list:*)",
30-
"Bash(git remote:*)"
38+
"Skill(lint)"
3139
],
3240
"deny": []
3341
}
34-
}
42+
}

.claude/skills/lint/SKILL.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ Use this skill when you:
2626
- Need to validate test infrastructure (suitespec, log messages)
2727
- Want to run comprehensive quality checks before pushing
2828

29+
## Key Principles
30+
31+
1. **Always format after editing** - Use `hatch run lint:fmt -- <file>` immediately after code changes
32+
2. **Run comprehensive checks before committing** - Use `hatch run lint:checks` before pushing
33+
3. **Target specific files** - Use `-- <file>` syntax to validate only what you changed, not the entire codebase
34+
4. **Fix auto-fixable issues** - Use `fmt` instead of manually fixing style issues
35+
5. **Type check after adding types** - Use `hatch run lint:typing -- <file>` after adding type annotations
36+
2937
## Quick Start
3038

3139
**Run all checks (broad validation):**

.claude/skills/run-tests/SKILL.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ Use this skill when you have:
2626
- Modified test infrastructure or configuration
2727
- Want to verify changes don't break existing functionality
2828

29+
## Key Principles
30+
31+
1. **Always use the run-tests skill** when testing code changes - it's optimized for intelligent suite discovery
32+
2. **Never run pytest directly** - bypasses the project's test infrastructure (use `scripts/run-tests` or `riot` via `scripts/ddtest`)
33+
3. **Minimal venvs for iteration** - run 1-2 venvs initially, expand only if needed
34+
4. **Use `--dry-run` first** - see what would run before executing
35+
5. **Follow official docs** - `docs/contributing-testing.rst` is the source of truth for testing procedures
36+
2937
## How This Skill Works
3038

3139
### Step 1: Identify Changed Files
@@ -116,6 +124,16 @@ For re-running specific tests:
116124
scripts/run-tests --venv <hash> -- -vv -k test_name
117125
```
118126

127+
## When Tests Fail
128+
129+
When you encounter test failures, follow this systematic approach:
130+
131+
1. **Review the failure details carefully** - Don't just skim the error, understand what's actually failing
132+
2. **Understand what's failing** - Don't blindly re-run; analyze the root cause
133+
3. **Make code changes** - Fix the underlying issue
134+
4. **Re-run with more verbosity if needed** - Use `-vv` or `-vvv` for detailed output
135+
5. **Iterate until tests pass** - Repeat the process with each fix
136+
119137
## Venv Selection Strategy in Detail
120138

121139
### Understanding Venv Hashes
@@ -255,13 +273,42 @@ scripts/run-tests --venv flask_py311 -- -vv -k test_view_called_twice
255273
- **Run tests without changes saved**: Make sure edits are saved first
256274
- **Iterate blindly**: Understand what's failing before re-running
257275

276+
## Additional Testing Resources
277+
278+
**For comprehensive testing guidance, refer to the contributing documentation:**
279+
280+
- **[docs/contributing-testing.rst](../../docs/contributing-testing.rst)** - Detailed testing guidelines
281+
- What kind of tests to write (unit tests, integration tests, e2e tests)
282+
- When to write tests (feature development, bug fixes)
283+
- Where to put tests in the repository
284+
- Prerequisites (Docker, uv)
285+
- Complete `scripts/run-tests` usage examples
286+
- Riot environment management details
287+
- Running specific test files and functions
288+
- Test debugging strategies
289+
290+
- **[docs/contributing.rst](../../docs/contributing.rst)** - PR and testing requirements
291+
- All changes need tests or documented testing strategy
292+
- How tests fit into the PR review process
293+
- Testing expectations for different types of changes
294+
295+
- **[docs/contributing-design.rst](../../docs/contributing-design.rst)** - Test architecture context
296+
- How products, integrations, and core interact
297+
- Where different types of tests should live
298+
- Testing patterns for each library component
299+
300+
**When to reference these docs:**
301+
- First time writing tests for this project → Read `contributing-testing.rst`
302+
- Understanding test requirements for PRs → Read `contributing.rst`
303+
- Need context on test architecture → Read `contributing-design.rst`
304+
258305
## Troubleshooting
259306

260307
### Docker services won't start
261308
```bash
262309
# Manually check/stop services:
263-
docker-compose ps
264-
docker-compose down
310+
docker compose ps
311+
docker compose down
265312
```
266313

267314
### Can't find matching suites

0 commit comments

Comments
 (0)