Skip to content

feat(security): _headers + API input validation + KV consistency contract #42

feat(security): _headers + API input validation + KV consistency contract

feat(security): _headers + API input validation + KV consistency contract #42

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_call:
permissions:
contents: read
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Scan for secrets
run: |
curl -sSfL "$(curl -s https://api.github.com/repos/gitleaks/gitleaks/releases/latest \
| grep -o 'https://[^"]*linux_x64.tar.gz')" | tar xz -C /tmp
/tmp/gitleaks detect --source . --verbose --redact
- uses: actions/setup-node@v6
with:
node-version: 22
cache: 'npm'
- name: Check for large files
run: |
LARGE=$(find . -not -path './.git/*' -not -path './node_modules/*' -type f -size +5M)
if [ -n "$LARGE" ]; then
echo "::error::Large files detected (>5 MB):"
echo "$LARGE"
exit 1
fi
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm test