This part of the documentation is meant for Exegol maintainers.
Exegol Release checklist
The first step is to update the project and sub-modules, meaning pointing the exegol-images and exegol-resources sub-modules to the latest master version. Even if the wrapper is able to auto-update itself, it is always better to keep the base reference at least up to date.
Update current wrapper repo:
Update git submodules and checkout to main branch for release:
git -C exegol-docker-build checkout main git -C exegol-docker-build pull git -C exegol-resources checkout main git -C exegol-resources pull
Update to the latest version of the main branches (checkout if needed, except for the wrapper which remains in branch dev)
exegol update -v
Review exegol.utils.ConstantConfig variables
Change version number ! (remove the alpha or beta tag at the end of the version number)
Tests & build
You can execute this one-liner to check the project and build it.
Require build package installed!
Exegol can only be published through a source build distribution because of the source code files for building local images.
python3 setup.py clean test && \ (rm -rf Exegol.egg-info && python3 -m build --sdist) || \ echo "Some tests failed, check your code and requirements before publishing!"
Upgrade tests.test_exegol.py version number to the next version build to avoid future mistake
Wait for review and merge
After validation of the PR, we can upload the new version package to pypi.
Require twine package installed and token configured on
Check package upload on the test repository (optional)
python3 -m twine upload -repository testpypi dist/* --verbose
Upload to the production repository
python3 -m twine upload dist/*
Create new github release with new version tag
Fast-forward dev branch to the latest master commit
Change the wrapper version on the dev branch to