Updated Jenkinsfile
All checks were successful
Tests / CI / Run tests passed: 206
expenses_manager/pipeline/head This commit looks good

This commit is contained in:
JKuijperM 2026-09-30 17:09:29 +02:00
parent aa6f49097d
commit c122e14472

View File

@ -73,7 +73,7 @@ pipeline {
// pytest died before collecting anything produces no XML,
// and that must fail rather than pass quietly.
junit allowEmptyResults: false,
testResults: 'expenses_manager/junit.xml'
testResults: 'expenses_manager/junit.xml'
}
}
}
@ -92,7 +92,7 @@ pipeline {
"rm -rf ${CI_DIR} && mkdir -p ${CI_DIR}"
tar -czf - --exclude=./expenses_manager/venv \
--exclude=./.git . \
--exclude=./.git . \
| ssh ${SSH_OPTS} ${NAS_USER}@${NAS_HOST} \
"tar -xzf - -C ${CI_DIR}"
@ -119,6 +119,23 @@ pipeline {
-e DB_ENGINE=sqlite3 \
${IMAGE}:${SHA} python manage.py check"
'''
// A migrations directory without __init__.py is a namespace
// package, and Django deliberately ignores those: the app then
// appears to have no migrations at all, migrate --check always
// reports nothing pending, and a real migration would silently
// never be applied. This is what .gitignore line 6 caused.
sh '''
SHA=$(echo "${GIT_COMMIT}" | cut -c1-7)
ssh ${SSH_OPTS} ${NAS_USER}@${NAS_HOST} \
"sudo ${NAS_DOCKER} run --rm \
-e SECRET_KEY=smoke-test-only \
-e DEBUG=False \
-e ALLOWED_HOSTS=localhost \
-e DB_ENGINE=sqlite3 \
${IMAGE}:${SHA} python manage.py showmigrations expenses" \
| grep -q '0001_initial'
'''
}
}
}