Add CONTRIBUTING guide (contributions.md)#11
Conversation
There was a problem hiding this comment.
Pull request overview
Adds contribution guidelines to the ShieldCI repository to help contributors file issues, follow branching/commit conventions, and run/test locally.
Changes:
- Introduces a new contribution guide with issue/PR guidance and a development checklist.
- Documents local run steps for building the engine, running the test app, and optionally pushing results.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,117 @@ | |||
| # Contributing to ShieldCI | |||
|
|
|||
There was a problem hiding this comment.
GitHub only auto-detects contribution guidelines when the file is named CONTRIBUTING.md (or placed under .github//docs/ with that name). With the current contributions.md filename, GitHub won’t surface it on the repo/PR UI; consider renaming to CONTRIBUTING.md (and updating any references accordingly).
| > Note for maintainers: For GitHub to auto-detect these guidelines, save/rename this file as `CONTRIBUTING.md` (at the repo root or under `.github/`/`docs/`). |
| 5. Run the engine from repo root (it reads `tests/shieldci.yml`): | ||
|
|
||
| ```bash | ||
| ./target/release/shield-ci | ||
| # or during dev | ||
| cargo run --release --manifest-path Cargo.toml |
There was a problem hiding this comment.
The instructions here say running from repo root reads tests/shieldci.yml, but the engine loads shieldci.yml from the current working directory. As written, running from repo root will not pick up tests/shieldci.yml unless the file is copied/symlinked; update the steps to match the actual behavior (e.g., cd tests before running the engine, like CI does).
| 5. Run the engine from repo root (it reads `tests/shieldci.yml`): | |
| ```bash | |
| ./target/release/shield-ci | |
| # or during dev | |
| cargo run --release --manifest-path Cargo.toml | |
| 5. Run the engine from the `tests` directory (it reads `shieldci.yml` from the current working directory): | |
| ```bash | |
| cd tests | |
| ../target/release/shield-ci | |
| # or during dev | |
| cargo run --release --manifest-path ../Cargo.toml |
| 6. (Optional) Push results to the dashboard: | ||
|
|
||
| ```bash | ||
| export SHIELDCI_API_URL=http://localhost:3000 | ||
| export SHIELDCI_API_KEY=your-secret-key | ||
| export SHIELDCI_REPO=owner/repo | ||
| python3 push_results.py | ||
| ``` |
There was a problem hiding this comment.
The working directory in steps 4–6 is inconsistent with where the engine writes shield_results.json (it writes to the current directory). If contributors run the engine from tests/ (needed to pick up tests/shieldci.yml), push_results.py should either be run with SHIELDCI_RESULTS_FILE=tests/shield_results.json (or ../tests/shield_results.json depending on cwd) or from the same directory where the results file was generated; otherwise push_results.py will look for shield_results.json in the wrong place by default.
Adding contribution guidelines