1- name : CI / Test & Docker Build
1+ name : CI / Docker Build
22
33on :
44 push :
77 branches : [ main ]
88
99jobs :
10- test-and- build :
10+ build :
1111 runs-on : ubuntu-latest
12-
1312 env :
14- # Force local ffmpeg usage
13+ # Force use of local FFmpeg in CI
1514 MODE : local
1615 FFMPEG_PATH : /usr/bin/ffmpeg
1716 FFPROBE_PATH : /usr/bin/ffprobe
18- VMAF_PATH : /usr/bin/true # no-op if VMAF not installed
19- # JWT settings for tests
20- SECRET_KEY : testsecret
21- ALGORITHM : HS256
22- ACCESS_TOKEN_EXPIRE_MINUTES : 60
23- # AWS disabled in CI
24- AWS_ACCESS_KEY_ID : ' '
25- AWS_SECRET_ACCESS_KEY : ' '
26- AWS_REGION : us-east-1
27- # API server defaults (not used by tests)
28- HOST : 0.0.0.0
29- PORT : 8000
30- WORKERS : 1
17+ VMAF_PATH : /usr/local/bin/ffmpeg-quality-metrics
3118
3219 steps :
3320 - name : Checkout repository
@@ -42,22 +29,16 @@ jobs:
4229 run : |
4330 sudo apt-get update
4431 sudo apt-get install -y ffmpeg
32+ # ffprobe comes bundled; install VMAF tools here if needed
4533
46- - name : Install Python dependencies, pytest & httpx
34+ - name : Install Python dependencies
4735 run : |
4836 python -m pip install --upgrade pip
4937 pip install --no-cache-dir -r requirements.txt
50- pip install pytest httpx
5138
52- - name : Export PYTHONPATH
39+ - name : Set PYTHONPATH for imports
5340 run : echo "PYTHONPATH=${{ github.workspace }}" >> $GITHUB_ENV
5441
55- - name : Run pytest
56- run : pytest --maxfail=1 --disable-warnings -q
57-
58- - name : Set up Docker Buildx
59- uses : docker/setup-buildx-action@v3
60-
6142 - name : Build and load Docker image
6243 uses : docker/build-push-action@v4
6344 with :
6748 load : true
6849 push : false
6950 tags : ffmpeg-api-service:latest
70-
0 commit comments