1
- name : CI / Test & Docker Build
1
+ name : CI / Docker Build
2
2
3
3
on :
4
4
push :
7
7
branches : [ main ]
8
8
9
9
jobs :
10
- test-and- build :
10
+ build :
11
11
runs-on : ubuntu-latest
12
-
13
12
env :
14
- # Force local ffmpeg usage
13
+ # Force use of local FFmpeg in CI
15
14
MODE : local
16
15
FFMPEG_PATH : /usr/bin/ffmpeg
17
16
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
31
18
32
19
steps :
33
20
- name : Checkout repository
@@ -42,22 +29,16 @@ jobs:
42
29
run : |
43
30
sudo apt-get update
44
31
sudo apt-get install -y ffmpeg
32
+ # ffprobe comes bundled; install VMAF tools here if needed
45
33
46
- - name : Install Python dependencies, pytest & httpx
34
+ - name : Install Python dependencies
47
35
run : |
48
36
python -m pip install --upgrade pip
49
37
pip install --no-cache-dir -r requirements.txt
50
- pip install pytest httpx
51
38
52
- - name : Export PYTHONPATH
39
+ - name : Set PYTHONPATH for imports
53
40
run : echo "PYTHONPATH=${{ github.workspace }}" >> $GITHUB_ENV
54
41
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
-
61
42
- name : Build and load Docker image
62
43
uses : docker/build-push-action@v4
63
44
with :
67
48
load : true
68
49
push : false
69
50
tags : ffmpeg-api-service:latest
70
-
0 commit comments