fix: feat: Woodpecker CI pipeline with ShellCheck + duplicate code detection (#45)

- Add .woodpecker/ci.yml: two-step pipeline (shellcheck + duplicate detection)
- Add .woodpecker/detect-duplicates.py: sliding-window hash detection (5-line
  windows, 2+ files) plus grep-based anti-pattern checks (hardcoded CI_STATE,
  hardcoded WOODPECKER_REPO_ID). Runs as failure: ignore so CI stays green
  while findings are visible in logs.
- Add .shellcheckrc: disable SC1090/SC1091 (dynamic source paths are
  intentional; all scripts use the same lib/env.sh pattern)
- Update projects/disinto.toml: woodpecker_repo_id = 4, remove bypass comment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
openhands 2026-03-17 10:02:58 +00:00
parent 740bddb2db
commit ee1af38390
4 changed files with 201 additions and 2 deletions

6
.shellcheckrc Normal file
View file

@ -0,0 +1,6 @@
# .shellcheckrc — project-level ShellCheck configuration
#
# SC1090/SC1091: all scripts source lib/env.sh via a dynamic path
# (source "$(dirname "$0")/../lib/env.sh") — this is intentional.
# Individual source calls that should be checked use explicit directives.
disable=SC1090,SC1091