chore: add .github community health files and CI#11
Conversation
- workflows/ci.yml: two status checks mirroring local validation — ShellCheck (pinned shellcheck v0.10.0, -x, severity=warning, all *.sh) and Compose Validate (docker compose config for each project stack). - PULL_REQUEST_TEMPLATE.md: bilingual checklist (shellcheck/health/tests/docs/secrets). - ISSUE_TEMPLATE/: bilingual bug_report + feature_request + config. - CODEOWNERS, dependabot.yml (github-actions + docker), SECURITY.md. These provide the status-check contexts intended to be required by the main branch protection rule.
Reviewer's GuideAdds a .github/ directory with a CI workflow (ShellCheck + docker compose validation), bilingual PR/issue/security templates, Dependabot configuration, and CODEOWNERS, laying the groundwork for enforcing required status checks on main. Sequence diagram for new CI status checks on mainsequenceDiagram
actor Developer
participant GitHub
participant CI_Workflow as CI_workflow_ci_yml
participant ShellCheck as Job_ShellCheck
participant ComposeValidate as Job_Compose_Validate
participant BranchProtectionMain
Developer->>GitHub: push / pull_request to main
GitHub->>CI_Workflow: trigger workflow CI
CI_Workflow->>ShellCheck: start job ShellCheck
CI_Workflow->>ComposeValidate: start job Compose Validate
ShellCheck->>ShellCheck: run shellcheck -x --severity=warning on *.sh
ComposeValidate->>ComposeValidate: run docker compose config for each project
ShellCheck-->>GitHub: status check ShellCheck
ComposeValidate-->>GitHub: status check Compose Validate
GitHub->>BranchProtectionMain: evaluate required checks ShellCheck, Compose Validate
BranchProtectionMain-->>Developer: allow or block merge to main
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughAdds GitHub repository governance files for ownership, issue and pull request templates, security guidance, Dependabot rules, and a CI workflow that runs ShellCheck and docker compose validation. ChangesRepository governance and automation
Sequence Diagram(s)sequenceDiagram
participant GitHubActions as GitHub Actions
participant CIWorkflow as CI workflow
participant ShellCheckJob as ShellCheck job
participant ComposeValidateJob as compose-validate job
GitHubActions->>CIWorkflow: trigger on push and pull_request to main
CIWorkflow->>ShellCheckJob: run ShellCheck v0.10.0 over shell scripts
CIWorkflow->>ComposeValidateJob: validate docker-compose.yml files
ShellCheckJob-->>CIWorkflow: fail on warnings or errors
ComposeValidateJob-->>CIWorkflow: return compose config status
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Hey - I've found 1 issue, and left some high level feedback:
- In the ShellCheck job, consider using
find ... -print0combined withwhile IFS= read -r -d '' scriptto make the loop robust to script paths containing spaces or unusual characters. - You might want to restrict the workflow triggers with
paths/paths-ignoreso the CI only runs when.shscripts or compose files change, avoiding unnecessary runs on docs-only or meta changes.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In the ShellCheck job, consider using `find ... -print0` combined with `while IFS= read -r -d '' script` to make the loop robust to script paths containing spaces or unusual characters.
- You might want to restrict the workflow triggers with `paths`/`paths-ignore` so the CI only runs when `.sh` scripts or compose files change, avoiding unnecessary runs on docs-only or meta changes.
## Individual Comments
### Comment 1
<location path=".github/dependabot.yml" line_range="15-16" />
<code_context>
+ - "github-actions"
+
+ # Keep Docker base images (Dockerfile FROM lines) across all projects current.
+ - package-ecosystem: "docker"
+ directories:
+ - "/**"
+ schedule:
</code_context>
<issue_to_address>
**issue (bug_risk):** Use `directory` instead of `directories` for the Docker ecosystem config.
Dependabot’s `docker` ecosystem only supports a single `directory` field; `directories` is not recognized and will be ignored. To cover all Dockerfiles, use a single `directory` (e.g. `/`) or define multiple `updates` entries, each with its own `directory`.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| - package-ecosystem: "docker" | ||
| directories: |
There was a problem hiding this comment.
issue (bug_risk): Use directory instead of directories for the Docker ecosystem config.
Dependabot’s docker ecosystem only supports a single directory field; directories is not recognized and will be ignored. To cover all Dockerfiles, use a single directory (e.g. /) or define multiple updates entries, each with its own directory.
Summary
Adds a
.github/directory with community-health files and a CI pipeline, and lays the groundwork for branch protection onmain(the CI jobs become the required status checks).Added
.github/workflows/ci.ymlv0.10.0,-x,severity=warning, run on all 31*.sh) and Compose Validate (docker compose configfor each of the three project stacks)..github/PULL_REQUEST_TEMPLATE.md.github/ISSUE_TEMPLATE/bug_report.md.github/ISSUE_TEMPLATE/feature_request.md.github/ISSUE_TEMPLATE/config.yml.github/CODEOWNERS.github/dependabot.yml.github/SECURITY.mdValidation
ci.yml,dependabot.yml,config.yml).shellcheck -x --severity=warningis clean for all 31 scripts.docker compose configsucceeds for all three projects.Follow-up
Once this is merged and the CI has run on
main, the ShellCheck and Compose Validate checks can be marked as required in themainbranch protection rule (force-push and deletion are already blocked).Summary by Sourcery
Add GitHub community health configuration and CI to standardize contributions and automated validation.
New Features:
Enhancements:
CI:
Deployment:
Documentation:
Chores:
Summary by CodeRabbit
New Features
Documentation
Chores