Files
dashcaddy/.gitea/workflows/ci.yml
T
SamiandClaude Opus 4.7 d36705bd90 feat: 1.5.0 prep — API v1 cutover, LICENSE, CHANGELOG, CI
- Remove legacy /api/ mount; all routes now under /api/v1/ only
- Update path matchers (CSRF excludes, public routes, audit log, rate limits)
- Move standalone routes (/api/network/ips, /api/docs, /api/docs/spec) to v1
- Update openapi.yaml (110 paths), CA pages, and 4 lingering frontend files
- Add LICENSE (proprietary EULA), CHANGELOG.md (Keep a Changelog format)
- Add .gitea/workflows/ci.yml (test+lint and security audit jobs)
- Fix 9 pre-existing no-empty lint errors so CI starts green
- Drop ad-hoc scratch reports and *.bak files from repo root

All 739 jest tests pass. Lint is clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 11:38:45 -07:00

72 lines
1.5 KiB
YAML

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
test:
name: Test & Lint
runs-on: ubuntu-latest
defaults:
run:
working-directory: dashcaddy-api
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: dashcaddy-api/package-lock.json
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Test (CI mode + coverage)
run: npm run test:ci
- name: Upload coverage artifact
if: always()
uses: actions/upload-artifact@v3
with:
name: coverage-${{ github.sha }}
path: dashcaddy-api/coverage/
retention-days: 14
security:
name: Security audit
runs-on: ubuntu-latest
defaults:
run:
working-directory: dashcaddy-api
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: dashcaddy-api/package-lock.json
- name: Install dependencies
run: npm ci
- name: npm audit (production deps, high+ severity)
run: npm audit --production --audit-level=high
continue-on-error: true
- name: Run security-focused test suite
run: npm run test:security