This document describes the steps to create and deploy a new release.
Edit version in pyproject.toml:
[tool.poetry]
version = "x.y.z"- Update CHANGELOG.md with all changes since last release
- Update README.md if needed
# Update Python dependencies
poetry update
# Update Node.js if necessary
nvm install node
# Update npm dependencies
npm installGenerate latest requirements files with poetry (for developers not using poetry, not used in production)
if not already done, install the export plugin:
poetry self add poetry-plugin-exportpoetry export -f requirements.txt --without-hashes -o requirements.txt
poetry export -f requirements.txt --without-hashes --dev -o requirements-dev.txt Note: Clever Cloud deploys using Docker, which installs dependencies via poetry install in the Dockerfile. No need to generate requirements.txt.
npm run watchInstall Jest globally if not already done:
npm install jest --globalRun test suites:
# Python tests__old (soon to be deprecated)
poetry run python manage.py test tests__old
poetry run pytest tests -n 4 --base-url http://localhost:8000
# JavaScript unit tests
jestAll tests must pass before proceeding.
Create a commit with message starting with [Vx.y.z]:
git add .
git commit -m "[Vx.y.z] Release description"- Push your branch to GitHub
- Create a PR to
mainbranch - Wait for CI to pass
- Request review from team members
git push clever <feature-branch-name>:masterTest the PreProd deployment at: https://dev.e-footprint.boavizta.org
Once the PR is approved and merged to main:
git push clever-prod main:masterThe production site will be available at: https://e-footprint.boavizta.org
Note: Both PreProd and Production Clever Cloud environments expect code pushed to their master branch.
See DEPLOY_TO_PROD.md for detailed deployment instructions and troubleshooting.
- Verify the application works on both PreProd and Production
- Monitor Clever Cloud logs for any errors
- Create a GitHub release with the version tag and changelog