mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 04:50:59 +00:00
40 lines
1.3 KiB
YAML
40 lines
1.3 KiB
YAML
name: No TODO markers
|
|
|
|
on:
|
|
push:
|
|
branches: [main, develop]
|
|
pull_request:
|
|
branches: [main, develop]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
# Product code is currently zero TODO / FIXME / XXX / HACK markers and
|
|
# the convention is to keep it that way — open a real follow-up issue
|
|
# instead of leaving a marker in the source. This gate fails fast if a
|
|
# future contributor reintroduces the pattern.
|
|
grep:
|
|
name: Forbidden marker grep
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: Scan src/ for TODO/FIXME/XXX/HACK markers
|
|
run: |
|
|
# Tests are exempt — they can legitimately reference an outstanding
|
|
# ticket via a TODO; `src/generated/` is third-party output from
|
|
# `prisma generate` and is regenerated on every db:generate.
|
|
if grep -rEn "\b(TODO|FIXME|XXX|HACK)\b" src/ \
|
|
--include='*.ts' \
|
|
--include='*.tsx' \
|
|
--exclude-dir='__tests__' \
|
|
--exclude-dir='generated' \
|
|
--exclude='*.test.ts' \
|
|
--exclude='*.test.tsx'; then
|
|
echo "::error::TODO/FIXME/XXX/HACK markers detected in product code — open a follow-up issue instead."
|
|
exit 1
|
|
fi
|
|
echo "::notice::No forbidden markers in product code."
|