3.2 KiB
3.2 KiB
Automation
Intentional Behavior
This repository is for customer debugging projects.
Customers are expected to upload broken code.
Because of that:
- Green workflow means automation completed.
- Red workflow means automation failed.
- Customer code errors are listed in
reports/errors.md. - Broken customer code does not fail the workflow red.
This behavior is intentional for DevPlus1.
Workflows
validate.yml
- Runs on
push - Runs on
pull_request - Uses runner label
linux-dev - Runs
tools/validate-code.sh - Prints
reports/errors.mdinto Forgejo logs - Fails only if the validation script crashes or
reports/errors.mdis missing
project-report.yml
- Runs on
push - Runs on
pull_request - Uses runner label
linux-dev - Runs
tools/validate-code.sh - Runs
tools/project-report.sh - Prints report summaries into Forgejo logs
- Fails only if report generation crashes or required report files are missing
code-docs.yml
- Runs on
push - Runs on
pull_request - Uses runner label
linux-dev - Runs
tools/generate-code-docs.sh - Prints code documentation summary output into Forgejo logs
- Fails only if the documentation script crashes or required code documentation reports are missing
Scripts
tools/validate-code.sh
- Recursively scans the repository
- Excludes common dependency and generated directories
- Validates supported files when tools are installed
- Always writes
reports/errors.md - Always prints a terminal summary
- Exits
0even when customer code errors are found - Exits non-zero only for automation/report generation failure
tools/project-report.sh
- Generates project analysis reports
- Reads customer code error status when available
- Writes summary and generated-file tracking reports
- Exits non-zero only if the script itself cannot generate required outputs
tools/generate-code-docs.sh
- Reads customer source files without modifying them
- Generates best-effort API, file-purpose, Unity lifecycle, and call-map reports
- Uses regex-based extraction and cautious wording
- Exits non-zero only if report generation fails
Generated Report Files
reports/errors.mdreports/project-flow.mdreports/file-summary.mdreports/languages.mdreports/summary.mdreports/generated-files.mdreports/customer-code-status.txtreports/api-reference.mdreports/file-purpose.mdreports/unity-scripts.mdreports/call-map.mdreports/code-docs-summary.md
Validation Sample Files
The repository includes intentional validator fixtures under tests/validation-samples/.
These files exist to prove:
- valid samples are accepted
- broken samples are reported
- broken customer code does not force the workflow red
Extending The System
To add more validators later:
- Update
tools/validate-code.sh - Document the validator in
docs/VALIDATORS.md - Update
docs/AUTOMATION.mdanddocs/WORKFLOWS.mdif workflow behavior changes - Update
docs/CODEX_INSTRUCTIONS.md
To add more code documentation extraction later:
- Update
tools/generate-code-docs.sh - Document new reports in
docs/REPORTS.md - Document workflow changes in
docs/WORKFLOWS.md - Update
docs/CODEX_INSTRUCTIONS.md