@@ -33,10 +33,18 @@ jobs:
3333 fast-tests :
3434 name : Fast Tests (Smoke + Unit)
3535 runs-on : ubuntu-latest
36+ env :
37+ PYTHONDONTWRITEBYTECODE : ' 1'
3638
3739 steps :
3840 - name : Checkout code
3941 uses : actions/checkout@v4
42+
43+ - name : Remove Python bytecode and pycache
44+ run : |
45+ echo "Removing any leftover .pyc and pycache"
46+ find . -name '__pycache__' -type d -print -exec rm -rf {} +
47+ find . -name '*.pyc' -type f -print -delete
4048
4149 - name : Set up Python 3.13
4250 uses : actions/setup-python@v5
@@ -136,10 +144,15 @@ jobs:
136144 pip install -r requirements.txt
137145 pip install -r requirements-dev.txt
138146
139- - name : Pull/cache Docker images
140- run : |
141- docker pull doubleuynn/calibre-web-automated:latest || true
142- docker pull python:3.13-slim || true
147+ - name : Build Docker image
148+ uses : docker/build-push-action@v5
149+ with :
150+ context : .
151+ push : false
152+ load : true
153+ tags : crocodilestick/calibre-web-automated:latest
154+ cache-from : type=gha
155+ cache-to : type=gha,mode=max
143156
144157 - name : Run Docker integration tests
145158 run : |
@@ -151,6 +164,7 @@ jobs:
151164 --junitxml=integration-results.xml
152165 env :
153166 CWA_TEST_PORT : " 8083" # CI uses production default port
167+ CWA_TEST_IMAGE : " crocodilestick/calibre-web-automated:latest"
154168 timeout-minutes : 30 # Kill if stuck
155169
156170 - name : Upload test results
0 commit comments