|
@@ -8,27 +8,48 @@ When you submit a PR from a fork, workflows run but **cannot auto-commit fixes**
|
|
|
|
|
|
|
|
### What Runs Automatically
|
|
### What Runs Automatically
|
|
|
|
|
|
|
|
|
|
+✅ **Fast Build Check (< 2 minutes)**
|
|
|
|
|
+- TypeScript compilation check
|
|
|
|
|
+- YAML test suite validation
|
|
|
|
|
+- Quick feedback on code quality
|
|
|
|
|
+
|
|
|
✅ **Registry Validation**
|
|
✅ **Registry Validation**
|
|
|
- Checks if `registry.json` matches actual files
|
|
- Checks if `registry.json` matches actual files
|
|
|
- Validates all paths are correct
|
|
- Validates all paths are correct
|
|
|
- Checks prompts use defaults
|
|
- Checks prompts use defaults
|
|
|
- **Cannot auto-commit** (you'll need to fix locally)
|
|
- **Cannot auto-commit** (you'll need to fix locally)
|
|
|
|
|
|
|
|
-✅ **Agent Tests**
|
|
|
|
|
-- OpenAgent and OpenCoder smoke tests run
|
|
|
|
|
-- Results are reported in the PR
|
|
|
|
|
|
|
+❌ **What Doesn't Run on PRs**
|
|
|
|
|
+- Full AI agent tests (too expensive, run manually by maintainers)
|
|
|
|
|
+- Auto-version bumping (happens after merge)
|
|
|
|
|
|
|
|
### What You Need to Do
|
|
### What You Need to Do
|
|
|
|
|
|
|
|
If the validation workflow reports issues, you'll need to fix them locally:
|
|
If the validation workflow reports issues, you'll need to fix them locally:
|
|
|
|
|
|
|
|
-#### 1. Registry Issues
|
|
|
|
|
|
|
+#### 1. Build Failures
|
|
|
|
|
+
|
|
|
|
|
+If TypeScript compilation fails:
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+# Build locally to see errors
|
|
|
|
|
+cd evals/framework
|
|
|
|
|
+npm install
|
|
|
|
|
+npm run build
|
|
|
|
|
+
|
|
|
|
|
+# Fix the errors, then commit
|
|
|
|
|
+git add .
|
|
|
|
|
+git commit -m "fix: resolve build errors"
|
|
|
|
|
+git push
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+#### 2. Registry Issues
|
|
|
|
|
|
|
|
-If new components are detected:
|
|
|
|
|
|
|
+If new components are detected (you'll get a comment on your PR):
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
# Run auto-detect locally
|
|
# Run auto-detect locally
|
|
|
-./scripts/auto-detect-components.sh --auto-add
|
|
|
|
|
|
|
+./scripts/registry/auto-detect-components.sh --auto-add
|
|
|
|
|
|
|
|
# Commit the updated registry
|
|
# Commit the updated registry
|
|
|
git add registry.json
|
|
git add registry.json
|
|
@@ -36,7 +57,7 @@ git commit -m "chore: update registry with new components"
|
|
|
git push
|
|
git push
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-#### 2. Prompt Issues
|
|
|
|
|
|
|
+#### 3. Prompt Issues
|
|
|
|
|
|
|
|
If prompts don't match defaults:
|
|
If prompts don't match defaults:
|
|
|
|
|
|
|
@@ -50,7 +71,7 @@ git commit -m "chore: restore default prompts"
|
|
|
git push
|
|
git push
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-#### 3. Path Issues
|
|
|
|
|
|
|
+#### 4. Path Issues
|
|
|
|
|
|
|
|
If registry paths are invalid:
|
|
If registry paths are invalid:
|
|
|
|
|
|
|
@@ -68,8 +89,10 @@ git push
|
|
|
### What Happens Next
|
|
### What Happens Next
|
|
|
|
|
|
|
|
1. **Fix Issues Locally**: If validation fails, fix issues and push
|
|
1. **Fix Issues Locally**: If validation fails, fix issues and push
|
|
|
-2. **Maintainer Review**: A maintainer will review your code
|
|
|
|
|
-3. **Merge**: Once everything passes, your PR will be merged!
|
|
|
|
|
|
|
+2. **Fast Feedback**: Build checks complete in < 2 minutes
|
|
|
|
|
+3. **Maintainer Review**: A maintainer will review your code
|
|
|
|
|
+4. **Merge**: Once everything passes, your PR will be merged!
|
|
|
|
|
+5. **Auto-Release**: After merge, version is auto-bumped and release created (you don't need to do anything!)
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
|
@@ -89,20 +112,21 @@ If you need to override checks:
|
|
|
3. Enable **"Skip validation checks"**
|
|
3. Enable **"Skip validation checks"**
|
|
|
4. Run on the PR branch
|
|
4. Run on the PR branch
|
|
|
|
|
|
|
|
-**Skip Tests:**
|
|
|
|
|
-1. Go to **Actions** → **Test Agents**
|
|
|
|
|
|
|
+**Skip Version Bump:**
|
|
|
|
|
+1. Go to **Actions** → **Post-Merge Automation**
|
|
|
2. Click **"Run workflow"**
|
|
2. Click **"Run workflow"**
|
|
|
-3. Enable **"Skip tests"**
|
|
|
|
|
-4. Run on the PR branch
|
|
|
|
|
|
|
+3. Enable **"Skip version bump"**
|
|
|
|
|
+4. Run manually
|
|
|
|
|
|
|
|
### Workflow Behavior
|
|
### Workflow Behavior
|
|
|
|
|
|
|
|
-| PR Type | Registry Validation | Auto-Commit | Agent Tests |
|
|
|
|
|
-|---------|-------------------|-------------|-------------|
|
|
|
|
|
-| **Internal PR** (branch) | ✅ Yes | ✅ Yes | ✅ Yes |
|
|
|
|
|
-| **External PR** (fork) | ✅ Yes | ❌ No* | ✅ Yes |
|
|
|
|
|
|
|
+| PR Type | Build Check | Registry Validation | Auto-Commit | AI Tests |
|
|
|
|
|
+|---------|------------|-------------------|-------------|----------|
|
|
|
|
|
+| **Internal PR** (branch) | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No* |
|
|
|
|
|
+| **External PR** (fork) | ✅ Yes | ✅ Yes | ❌ No** | ❌ No* |
|
|
|
|
|
|
|
|
-*Cannot push to fork branches - contributor must fix locally
|
|
|
|
|
|
|
+*AI tests don't run on PRs (too expensive) - maintainers run manually if needed
|
|
|
|
|
+**Cannot push to fork branches - contributor must fix locally
|
|
|
|
|
|
|
|
### Manual Testing External PRs
|
|
### Manual Testing External PRs
|
|
|
|
|
|
|
@@ -112,14 +136,20 @@ If you want to test an external PR locally:
|
|
|
# Fetch the PR
|
|
# Fetch the PR
|
|
|
gh pr checkout <PR_NUMBER>
|
|
gh pr checkout <PR_NUMBER>
|
|
|
|
|
|
|
|
|
|
+# Run build check
|
|
|
|
|
+cd evals/framework
|
|
|
|
|
+npm install
|
|
|
|
|
+npm run build
|
|
|
|
|
+npm run validate:suites:all
|
|
|
|
|
+
|
|
|
# Run validation
|
|
# Run validation
|
|
|
-./scripts/validate-registry.sh -v
|
|
|
|
|
|
|
+./scripts/registry/validate-registry.sh -v
|
|
|
./scripts/prompts/validate-pr.sh
|
|
./scripts/prompts/validate-pr.sh
|
|
|
|
|
|
|
|
# Auto-fix registry if needed
|
|
# Auto-fix registry if needed
|
|
|
-./scripts/auto-detect-components.sh --auto-add
|
|
|
|
|
|
|
+./scripts/registry/auto-detect-components.sh --auto-add
|
|
|
|
|
|
|
|
-# Run tests
|
|
|
|
|
|
|
+# Run AI tests (optional - only if needed)
|
|
|
npm run test:ci
|
|
npm run test:ci
|
|
|
|
|
|
|
|
# If everything passes, approve and merge
|
|
# If everything passes, approve and merge
|
|
@@ -127,12 +157,15 @@ gh pr review <PR_NUMBER> --approve
|
|
|
gh pr merge <PR_NUMBER>
|
|
gh pr merge <PR_NUMBER>
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
|
|
+**Note:** AI tests are optional for PRs. The build check is usually sufficient.
|
|
|
|
|
+
|
|
|
---
|
|
---
|
|
|
|
|
|
|
|
## Workflow Files
|
|
## Workflow Files
|
|
|
|
|
|
|
|
|
|
+- **`.github/workflows/pr-checks.yml`**: Fast build validation (< 2 min)
|
|
|
- **`.github/workflows/validate-registry.yml`**: Registry validation with override
|
|
- **`.github/workflows/validate-registry.yml`**: Registry validation with override
|
|
|
-- **`.github/workflows/test-agents.yml`**: Agent tests with override
|
|
|
|
|
|
|
+- **`.github/workflows/post-merge.yml`**: Auto-versioning after merge (main only)
|
|
|
|
|
|
|
|
## Questions?
|
|
## Questions?
|
|
|
|
|
|