feat: add nightly branch workflow

This commit is contained in:
GitHub Actions
2026-01-13 22:11:28 +00:00
parent d27c925ba5
commit 4adcd9eda1
187 changed files with 8897 additions and 1614 deletions

View File

@@ -31,6 +31,7 @@ Phase 0 validation and tooling infrastructure has been successfully implemented
**File**: `.github/skills/scripts/validate-skills.py`
**Features**:
- Validates all required frontmatter fields per agentskills.io spec
- Checks name format (kebab-case), version format (semver), description length
- Validates tags (minimum 2, maximum 5, lowercase)
@@ -40,6 +41,7 @@ Phase 0 validation and tooling infrastructure has been successfully implemented
- Execution permissions set
**Test Results**:
```
✓ test-backend-coverage.SKILL.md is valid
Validation Summary:
@@ -55,6 +57,7 @@ Validation Summary:
**File**: `.github/skills/scripts/skill-runner.sh`
**Features**:
- Accepts skill name as argument
- Locates skill's execution script (`{skill-name}-scripts/run.sh`)
- Validates skill exists and is executable
@@ -64,6 +67,7 @@ Validation Summary:
- Execution permissions set
**Test Results**:
```
[INFO] Executing skill: test-backend-coverage
[SUCCESS] Skill completed successfully: test-backend-coverage
@@ -75,12 +79,14 @@ Exit code: 0
All helper scripts created and functional:
**`_logging_helpers.sh`**:
- `log_info()`, `log_success()`, `log_warning()`, `log_error()`, `log_debug()`
- `log_step()`, `log_command()`
- Color support with terminal detection
- NO_COLOR environment variable support
**`_error_handling_helpers.sh`**:
- `error_exit()` - Print error and exit
- `check_command_exists()`, `check_file_exists()`, `check_dir_exists()`
- `run_with_retry()` - Retry logic with backoff
@@ -88,6 +94,7 @@ All helper scripts created and functional:
- `cleanup_on_exit()` - Register cleanup functions
**`_environment_helpers.sh`**:
- `validate_go_environment()`, `validate_python_environment()`, `validate_node_environment()`, `validate_docker_environment()`
- `set_default_env()` - Set env vars with defaults
- `validate_project_structure()` - Check required files
@@ -98,6 +105,7 @@ All helper scripts created and functional:
**File**: `.github/skills/README.md`
**Contents**:
- Complete overview of Agent Skills
- Directory structure documentation
- Available skills table
@@ -114,6 +122,7 @@ All helper scripts created and functional:
### ✅ 6. .gitignore Updated
**Changes Made**:
- Added Agent Skills runtime-only ignore patterns
- Runtime temporary files: `.cache/`, `temp/`, `tmp/`, `*.tmp`
- Execution logs: `logs/`, `*.log`, `nohup.out`
@@ -122,6 +131,7 @@ All helper scripts created and functional:
- **IMPORTANT**: SKILL.md files and scripts are NOT ignored (required for CI/CD)
**Verification**:
```
✓ No SKILL.md files are ignored
✓ No scripts are ignored
@@ -132,10 +142,12 @@ All helper scripts created and functional:
**Skill**: `test-backend-coverage`
**Files**:
- `.github/skills/test-backend-coverage.SKILL.md` - Complete skill definition
- `.github/skills/test-backend-coverage-scripts/run.sh` - Execution wrapper
**Features**:
- Complete YAML frontmatter following agentskills.io v1.0 spec
- Progressive disclosure (under 500 lines)
- Comprehensive documentation (prerequisites, usage, examples, error handling)
@@ -146,6 +158,7 @@ All helper scripts created and functional:
- Sets default environment variables
**Frontmatter Compliance**:
- ✅ All required fields present (name, version, description, author, license, tags)
- ✅ Name format: kebab-case
- ✅ Version: semantic versioning (1.0.0)
@@ -159,12 +172,14 @@ All helper scripts created and functional:
### ✅ 8. Infrastructure Tested
**Test 1: Validation**
```bash
.github/skills/scripts/validate-skills.py --single .github/skills/test-backend-coverage.SKILL.md
Result: ✓ test-backend-coverage.SKILL.md is valid
```
**Test 2: Skill Execution**
```bash
.github/skills/scripts/skill-runner.sh test-backend-coverage
Result: Coverage 85.5% (minimum required 85%)
@@ -173,6 +188,7 @@ Result: Coverage 85.5% (minimum required 85%)
```
**Test 3: Git Tracking**
```bash
git status --short .github/skills/
Result: 8 files staged (not ignored)
@@ -185,16 +201,20 @@ Result: 8 files staged (not ignored)
## Success Criteria
### ✅ 1. validate-skills.py passes for proof-of-concept skill
- **Result**: PASS
- **Evidence**: Validation completed with 0 errors, 0 warnings
### ✅ 2. skill-runner.sh successfully executes test-backend-coverage skill
- **Result**: PASS
- **Evidence**: Skill executed successfully, exit code 0
### ✅ 3. Backend coverage tests run and pass with ≥85% coverage
- **Result**: PASS (85.5%)
- **Evidence**:
```
total: (statements) 85.5%
Computed coverage: 85.5% (minimum required 85%)
@@ -202,30 +222,35 @@ Result: 8 files staged (not ignored)
```
### ✅ 4. Git tracks all skill files (not ignored)
- **Result**: PASS
- **Evidence**: All 8 skill files staged, 0 ignored
## Architecture Highlights
### Flat Structure
- Skills use flat naming: `{skill-name}.SKILL.md`
- Scripts in: `{skill-name}-scripts/run.sh`
- Maximum AI discoverability
- Simpler references in tasks.json and workflows
### Helper Scripts Pattern
- All skills source shared helpers for consistency
- Logging: Colored output, multiple levels, DEBUG mode
- Error handling: Retry logic, validation, exit codes
- Environment: Version checks, project structure validation
### Skill Runner Design
- Universal interface: `skill-runner.sh <skill-name> [args...]`
- Validates skill existence and permissions
- Changes to project root before execution
- Proper error reporting with helpful messages
### Documentation Strategy
- README.md in skills directory for quick reference
- Each SKILL.md is self-contained (< 500 lines)
- Progressive disclosure for complex topics
@@ -234,6 +259,7 @@ Result: 8 files staged (not ignored)
## Integration Points
### VS Code Tasks (Future)
```json
{
"label": "Test: Backend with Coverage",
@@ -243,12 +269,14 @@ Result: 8 files staged (not ignored)
```
### GitHub Actions (Future)
```yaml
- name: Run Backend Tests with Coverage
run: .github/skills/scripts/skill-runner.sh test-backend-coverage
```
### Pre-commit Hooks (Future)
```yaml
- id: backend-coverage
entry: .github/skills/scripts/skill-runner.sh test-backend-coverage
@@ -274,6 +302,7 @@ Result: 8 files staged (not ignored)
## Next Steps
### Immediate (Phase 1)
1. Create remaining test skills:
- `test-backend-unit.SKILL.md`
- `test-frontend-coverage.SKILL.md`
@@ -282,11 +311,13 @@ Result: 8 files staged (not ignored)
3. Update GitHub Actions workflows
### Phase 2-4
- Migrate integration tests, security scans, QA tests
- Migrate utility and Docker skills
- Complete documentation
### Phase 5
- Generate skills index JSON for AI discovery
- Create migration guide
- Tag v1.0-beta.1