Enhance CI pipeline documentation for Rojo and rbx-dom

- Updated the `/ci` command documentation to include detailed steps for running the CI pipeline for both Rojo and rbx-dom.
- Added specific instructions for auto-fixing formatting, linting, building, and testing within the rbx-dom submodule.
- Improved reporting structure to summarize results for both Rojo and rbx-dom, ensuring clarity on formatting, linting, and test outcomes.
This commit is contained in:
Joe 2026-02-06 22:36:50 -06:00
parent 1f2b630506
commit 1ad54fb0c4
2 changed files with 90 additions and 7 deletions

View file

@ -1,11 +1,15 @@
# /ci - Complete CI Pipeline # /ci - Complete CI Pipeline
Run the complete CI pipeline: auto-fix all formatting, run all linters, build everything, and run ALL tests. Run the complete CI pipeline: auto-fix all formatting, run all linters, build everything, and run ALL tests — for both Rojo and rbx-dom.
## Instructions ## Instructions
Execute ALL of the following steps in order. Fix issues automatically where possible. Execute ALL of the following steps in order. Fix issues automatically where possible.
---
## Rojo
### 1. Auto-fix Lua Formatting (Stylua) ### 1. Auto-fix Lua Formatting (Stylua)
```powershell ```powershell
stylua plugin/src stylua plugin/src
@ -56,6 +60,66 @@ cargo test --locked --all-targets --all-features
.\scripts\unit-test-plugin.ps1 .\scripts\unit-test-plugin.ps1
``` ```
---
## rbx-dom (submodule)
All rbx-dom steps run inside the `rbx-dom/` directory.
### 8. Auto-fix Lua Formatting (Stylua) for rbx_dom_lua
```powershell
cd rbx-dom
stylua rbx_dom_lua/src
cd ..
```
### 9. Auto-fix Rust Formatting
```powershell
cd rbx-dom
cargo fmt
cd ..
```
### 10. Lua Static Analysis (Selene) for rbx_dom_lua - MUST PASS WITH ZERO ISSUES
```powershell
cd rbx-dom
selene rbx_dom_lua/src
cd ..
```
Same rules as step 3: exit code 0 required, fix all errors and warnings before proceeding.
### 11. Rust Linting (Clippy) - Auto-fix where possible
```powershell
cd rbx-dom
cargo clippy --fix --allow-dirty --allow-staged
```
Then verify with:
```powershell
cd rbx-dom
cargo clippy --all-targets --all-features -- -D warnings
cd ..
```
If there are remaining warnings/errors, fix them before proceeding.
### 12. Build rbx-dom
```powershell
cd rbx-dom
cargo build --verbose
cargo build --all-features --verbose
cd ..
```
### 13. Run ALL rbx-dom Rust Tests
```powershell
cd rbx-dom
cargo test --verbose
cargo test --all-features --verbose
cd ..
```
---
## Reporting ## Reporting
After ALL steps complete, provide a summary: After ALL steps complete, provide a summary:
@ -63,6 +127,8 @@ After ALL steps complete, provide a summary:
``` ```
=== CI COMPLETE === === CI COMPLETE ===
--- Rojo ---
Formatting: Formatting:
- Stylua: [fixed X files / no changes needed] - Stylua: [fixed X files / no changes needed]
- Rustfmt: [fixed X files / no changes needed] - Rustfmt: [fixed X files / no changes needed]
@ -77,10 +143,27 @@ Tests:
- Rust: X passed, Y failed - Rust: X passed, Y failed
- Plugin: X passed, Y failed, Z skipped - Plugin: X passed, Y failed, Z skipped
Overall: PASS / FAIL --- rbx-dom ---
Formatting:
- Stylua (rbx_dom_lua): [fixed X files / no changes needed]
- Rustfmt: [fixed X files / no changes needed]
Linting:
- Selene (rbx_dom_lua): PASS (0 errors, 0 warnings) / FAIL (X errors, Y warnings)
- Clippy: PASS / FAIL (X warnings)
Build: PASS / FAIL
Build (all features): PASS / FAIL
Tests:
- Rust: X passed, Y failed
- Rust (all features): X passed, Y failed
--- Overall: PASS / FAIL ---
``` ```
**IMPORTANT:** **IMPORTANT:**
- Selene PASS requires exit code 0 (0 errors AND 0 warnings). Any warnings = FAIL. - Selene PASS requires exit code 0 (0 errors AND 0 warnings). Any warnings = FAIL.
- If any step fails, continue running the remaining steps to get a complete picture, then report all failures at the end. - If any step fails, continue running the remaining steps to get a complete picture, then report all failures at the end.
- Do not report "Overall: PASS" unless ALL linters pass with zero issues. - Do not report "Overall: PASS" unless ALL linters pass with zero issues across both Rojo and rbx-dom.