Wrapper
Release process for the Exegol Python wrapper.
Preparation
- Confirm git hooks are installed:
bash
pre-commit install- Update the wrapper repository and its submodules. Point
exegol-imagesandexegol-resourcesat the latestmain.
bash
git pull
git -C exegol-images checkout main
git -C exegol-images pull
git -C exegol-resources checkout main
git -C exegol-resources pullNOTE
Reload and commit any submodule update at this step.
- Run the pre-commit tests:
bash
pre-commit run -a --hook-stage pre-pushConfiguration review
- Review
exegol.config.ConstantConfigvariables- Change the version number (remove the alpha or beta tag at the end)
- Review
exegol.utils.imgsync.spawn.shversion- Must contain a line with the current script version, in the form
# Spawn Version:2(no alpha or beta letter)
- Must contain a line with the current script version, in the form
- Review documentation on
Exegol-docs(dev-wrapper). Wrapper docs must stay aligned with wrapper features. Keep the docs PR open; it is merged after the wrapper is released. - Review
README.md - Commit and push the last changes
- Create the PR, or take it out of draft mode
NOTE
The pull request must already exist and not be in draft before the latest stable version is pushed.
Review and publish
The PR is then ready for peer review and merge on GitHub.
Once it is merged to master, a tag must be deployed to run the release pipeline. The GitHub Action pipeline builds and publishes automatically.
Example for a new version:
bash
export WV=5.1.13
git fetch
git merge --ff-only origin/master
git tag -s "$WV" -m "$WV"
git push --tags
git pushPost-release
- Create a new GitHub release with the new version tag
- Merge the documentation PR once the wrapper is released
After a stable wrapper release, the dev branch must stay on a beta version:
- Change the wrapper version on
devtox.y.zb1 - Update the version number in
tests.test_exegol.pyto the next version build - Commit the updates