Skip to content

fix: CWE-22 path traversal in file:// URL handling (#258) #196

fix: CWE-22 path traversal in file:// URL handling (#258)

fix: CWE-22 path traversal in file:// URL handling (#258) #196

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Shell lint
run: |
find scripts -name '*.sh' | while read f; do
echo "Checking $f"
bash -n "$f"
done
- name: Check install script
run: bash -n install.sh
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Syntax check (py_compile)
run: |
find scripts dashboard -name '*.py' | while read f; do
echo " checking $f"
python3 -m py_compile "$f"
done
- name: Install test dependencies
run: pip install pytest
- name: Run tests
run: pytest tests/ -v
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build Docker image
uses: docker/build-push-action@v7
with:
context: .
push: false
tags: edict:test
cache-from: type=gha
cache-to: type=gha,mode=max
edict-backend:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_DB: edict
POSTGRES_USER: edict
POSTGRES_PASSWORD: edict_dev_2024
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U edict"
--health-interval 5s
--health-timeout 5s
--health-retries 5
redis:
image: redis:7-alpine
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 5s
--health-timeout 5s
--health-retries 5
env:
DATABASE_URL: postgresql+asyncpg://edict:edict_dev_2024@localhost:5432/edict
REDIS_URL: redis://localhost:6379/0
steps:
- uses: actions/checkout@v6
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: edict/backend/requirements.txt
- name: Install backend dependencies
run: pip install -r edict/backend/requirements.txt
- name: Syntax check (py_compile)
run: |
find edict/backend -name '*.py' | while read f; do
echo " checking $f"
python3 -m py_compile "$f"
done
- name: Run Alembic migrations
working-directory: edict
run: python -m alembic upgrade head
- name: Verify FastAPI app imports
working-directory: edict/backend
run: python -c "from app.main import app; print(f'FastAPI app loaded: {len(app.routes)} routes')"

Check failure on line 123 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

You have an error in your yaml syntax on line 123