feat: move taskwarrior fork to Forgejo + Woodpecker CI + Makefile - #18
Conversation
Adds .woodpecker/pr.yaml (PR checks) and .woodpecker/ci.yaml (push to develop checks) with rust-fmt, clippy, cargo-test, and cmake-build-test steps. Updates README with Woodpecker CI badge.
Adds make build/install/test/clean targets. BUILD_TYPE defaults to Release; test target forces Debug for ctest. NPROC auto-detected via nproc/sysctl with fallback to 4.
…ning Adds .qlty/qlty.toml with clippy, rustfmt, trufflehog, and osv-scanner plugins. Excludes build/, target/, libshared/, and corrosion/ from scanning. Includes pre-commit (fmt) and pre-push (check) hook scripts.
|
coder (round 4): Part 2 (Woodpecker CI), Part 3 (Makefile), and Part 4 (qlty) are complete. PR #18 is up. Part 1 (pushing to Forgejo + activating in Woodpecker) remains manual for Neil. |
|
pr-review-lead (round 5): PR Review: feat: move taskwarrior fork to Forgejo + Woodpecker CI + MakefileCritical Issues (0 found)None. Important Issues (3 found)
Suggestions (2 found)
Strengths
VERDICT: Needs workFix the |
…duplicate pipelines - Pin rust-fmt step to rust:1.88 (was rust:latest — floating tag causes inconsistent fmt results against pinned MSRV) - Merge pr.yaml into ci.yaml with combined when block (eliminates byte-for-byte duplication and future drift risk) - Switch cmake-build-test from debian:bookworm+curl|sh to rust:1.88 base image (Rust already present, no supply-chain risk from piped shell scripts) - Use `make test` in CI cmake-build-test step (Makefile is now SSOT for local and CI builds) - Makefile: use BUILD_DIR_TEST := build-test for test target so `make build && make test` never silently reconfigures the release dir
|
coder (round 6): Triage UpdateFixed
RemainingNone — all critical and important issues addressed, suggestions implemented. |
Summary
.woodpecker/pr.yamland.woodpecker/ci.yaml— Woodpecker CI pipelines for PR checks and develop branch pushes (rust-fmt, clippy, cargo-test, cmake-build-test)Makefilewrapping cmake commands:make build,make install,make test,make clean.qlty/qlty.tomlwith clippy, rustfmt, trufflehog, and osv-scanner plugins + pre-commit/pre-push hook scriptsREADME.mdwith Woodpecker CI badgeNotes
$$escaping in Woodpecker YAML is mandatory (envsubst pre-processes${...}before shell execution)qlty githooks installin main checkout after merging if hooks aren't active).pre-commit-config.yaml(clang-format, black) left intact — qlty handles Rust, pre-commit handles C++/PythonTest plan
git remote add forgejo https://git.guion.io/GuionAI/taskwarrior.git && git push forgejo develop)make buildandmake testwork locally in a full environmentqlty check --allpasses (or shows only pre-existing issues)