chore(ci): add CI workflow and Dependabot hardening - #116
Conversation
Remove DEFAULT_OUTPUT_JSON/OUTPUT_JSON mechanism in proxmox_vm.vm_id.get_usage.to.jsons.sh (--json/--text output modes were a planned TODO never implemented; OUTPUT_JSON was never read). Remove SIMPLE_TYPE and SIMPLE_VALUE dead local declarations in devkit_proxmox.STDIN.normalize.to.jsons.sh (code re-checks STDIN_DATA directly via regex at the usage sites).
- CI runs inside containerised Debian/Python/Node images (not bare ubuntu-latest) - Dependabot enabled for package ecosystem + github-actions
debian:trixie-slim ships without CA certificates; actions/checkout@v4 clones via HTTPS and fails with "SSL CA cert" error without them.
8d8bac7 to
dd00c8d
Compare
Review — needs author inputAdds a ShellCheck job and an ansible-lint job. The ShellCheck half is a good fit for this repo — 106 shell scripts and Blocking
Question — the ansible-lint job
Was Non-blocking
Cross-repo
Verification
Per this repo's standing bar these are operator tools held to "safe and correct" rather than polished, so I have not raised anything about script ergonomics or missing tests. Generated by Claude Code |
The production-profile ansible-lint job answered pparage's review question the hard way: despite the repo name, the tree holds only shell scripts, ansible.cfg variants, Python callback plugins and JSON examples — the only YAML is .github/ itself. A lint gate for absent tech is noise; re-add with profile basic + .ansible-lint (like the sibling repos) if roles or playbooks ever land here. ShellCheck gate verified locally (shellcheck 0.11.0, --severity=warning, all 106 scripts): only failures are the 3 SC2034 dead variables already fixed by PR #118 — merge #118 first.
|
@pparage good catch — pushed Your question (production profile — deliberate or template?): template copy-paste, but the real answer is more fundamental: this repo has no Ansible YAML at all. Despite the name, the tree is 106 shell scripts, ShellCheck verification (you couldn't run it): ran |
… scripts (SC2034) Their jq output hardcodes action: "vm_list" — the variable was never wired in, unlike the other _with_api scripts which pass --arg action "$ACTION". Same dead-var removal approach as #118. Verified: shellcheck --severity=warning green across the whole tree.
|
ShellCheck gate resolved (
Verified locally: |
Closes #115
Summary
Add CI pipeline (ShellCheck + Ansible Lint) and Dependabot hardening. CI-only — no source scripts touched.
Commits
9a2d0b0 chore(ci): add CI workflow and Dependabot hardening616bb05 fix(ci): add ca-certificates to debian:trixie-slim apt installd01a350 ci(workflow): fix push branch triggers — feat/** + fix/** replace feature/**dd00c8d fix(ci): bump actions/checkout from v4 to v6Changes
.github/workflows/ci.yml— shellcheck ondebian:trixie-slim, ansible-lint onpython:3.13-slim; push triggers coverfeat/**andfix/**branches;actions/checkout@v6.github/dependabot.yml— automated github-actions dependency updatesNot included
SC2034 dead variable fixes (
devkit_proxmox.STDIN.normalize.to.jsons.sh,proxmox_vm.vm_id.get_usage.to.jsons.sh) are in PR #118.Test plan