chore: initial project setup with backend, frontend, and infrastructure
Add complete NexaPantry application structure including: - Docker Compose configuration with PostgreSQL, Redis, FastAPI backend, worker, frontend and Caddy - Environment configuration template with database, auth, and service settings - GitHub Actions CI workflow for backend/frontend linting, testing, auditing and Docker builds - AGPL-3.0 license and comprehensive README with setup, development, and security documentation - Backend
This commit is contained in:
62
.github/workflows/ci.yml
vendored
Normal file
62
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
backend:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
- name: Install backend
|
||||
run: |
|
||||
cd backend
|
||||
python -m pip install --upgrade pip
|
||||
pip install ".[dev]"
|
||||
- name: Lint
|
||||
run: cd backend && ruff check app
|
||||
- name: Test
|
||||
run: cd backend && pytest
|
||||
- name: Audit
|
||||
run: cd backend && pip-audit
|
||||
- name: Bandit
|
||||
run: cd backend && bandit -q -r app -x app/tests
|
||||
|
||||
frontend:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
cache: npm
|
||||
cache-dependency-path: frontend/package-lock.json
|
||||
- name: Install frontend
|
||||
run: cd frontend && npm ci
|
||||
- name: Lint
|
||||
run: cd frontend && npm run lint
|
||||
- name: Typecheck
|
||||
run: cd frontend && npm run typecheck
|
||||
- name: Test
|
||||
run: cd frontend && npm test -- --run
|
||||
- name: Audit
|
||||
run: cd frontend && npm audit --audit-level=moderate
|
||||
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [backend, frontend]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build images
|
||||
run: docker compose build
|
||||
- name: Trivy filesystem scan
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
scan-type: fs
|
||||
scan-ref: .
|
||||
severity: CRITICAL,HIGH
|
||||
exit-code: "0"
|
||||
Reference in New Issue
Block a user