Files
SkyMoney/.gitea/workflows/security.yml
Ricearoni1245 fe96bf85da
Some checks failed
Deploy / deploy (push) Successful in 57s
Security Tests / security-non-db (push) Successful in 18s
Security Tests / security-db (push) Failing after 20s
added db guard changes to prevent deletion
2026-03-10 21:19:24 -05:00

67 lines
1.7 KiB
YAML

name: Security Tests
on:
pull_request:
push:
branches: [main]
jobs:
security-non-db:
runs-on: vps-host
steps:
- uses: actions/checkout@v4.2.2
- name: Setup Node
uses: actions/setup-node@v4.2.0
with:
node-version: "20"
cache: "npm"
cache-dependency-path: api/package-lock.json
- name: Install API dependencies
run: |
cd api
npm ci
- name: Run OWASP security suite (non-DB)
run: |
cd api
SECURITY_DB_TESTS=0 npx vitest run -c vitest.security.config.ts
security-db:
if: ${{ secrets.TEST_DATABASE_URL != '' }}
runs-on: vps-host
steps:
- uses: actions/checkout@v4.2.2
- name: Setup Node
uses: actions/setup-node@v4.2.0
with:
node-version: "20"
cache: "npm"
cache-dependency-path: api/package-lock.json
- name: Install API dependencies
run: |
cd api
npm ci
- name: Guard TEST_DATABASE_URL target
env:
TEST_DATABASE_URL: ${{ secrets.TEST_DATABASE_URL }}
EXPECTED_PROD_DB_NAME: skymoney
PROTECTED_DB_NAMES: skymoney,postgres,template0,template1
REQUIRE_TEST_DB_NAME: "1"
run: |
chmod +x ./scripts/validate-test-db-target.sh
bash ./scripts/validate-test-db-target.sh
- name: Run OWASP security suite (DB-backed)
env:
TEST_DATABASE_URL: ${{ secrets.TEST_DATABASE_URL }}
PROTECTED_DB_NAMES: skymoney,postgres,template0,template1
REQUIRE_TEST_DB_NAME: "1"
run: |
cd api
SECURITY_DB_TESTS=1 npx vitest run -c vitest.security.config.ts