Skip to content

Commit

Permalink
Update wrapper release process
Browse files Browse the repository at this point in the history
  • Loading branch information
Dramelac committed Aug 24, 2024
1 parent 1d6b559 commit 55fe608
Showing 1 changed file with 39 additions and 35 deletions.
74 changes: 39 additions & 35 deletions source/community/maintainers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ Wrapper release
Preparation
-----------

1. Git updates
~~~~~~~~~~~~~~

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.

Expand Down Expand Up @@ -52,17 +49,9 @@ Even if the wrapper is able to auto-update itself, it is always better to keep t
.. important::
Don't forget to **reload and commit** any **submodule update** at this step !

2. Config reviews
~~~~~~~~~~~~~~~~~

* Review exegol.utils.ConstantConfig variables

* Change version number ! (remove the alpha or beta tag at the end of the version number)
* Review documentation
* Review README.md

Tests & build
-------------
Local tests & build
~~~~~~~~~~~~~~~~~~~

First, test the code with mypy:

Expand All @@ -84,48 +73,63 @@ You can execute this one-liner to check the project and build it.
(rm -rf Exegol.egg-info && python3 -m build --sdist) || \
echo "Some tests failed, check your code and requirements before publishing!"
Config reviews
~~~~~~~~~~~~~~

Post build
----------

* Upgrade tests.test_exegol.py version number to the next version build to avoid future mistake
* Commit updates
* Publish PR
* Wait for review and merge
* Review exegol.config.ConstantConfig variables

Manual Upload
-------------
* Change version number ! (remove the alpha or beta tag at the end of the version number)
* Review exegol.utils.imgsync.spawn.sh version

.. important::
PyPi packaging and upload is now handle by **GitHub action**. It will be triggered with the creation of the **new tag** in the next-step with the release creation.
* Must contain a line with the script current version in the following format: ``# Spawn Version:2`` (without alpha or beta letter)
* Review documentation on Exegol-docs/dev-wrapper
* Review README.md

**This step is no longer needed.**
* Create PR (or put it out of draft mode)

After validation of the PR, we can upload the new version package to pypi.
.. important::
The Pull-Request must be **already** created and **NOT** be in draft state before pushing the latest stable version.

.. warning::
**Require** `twine <https://packaging.python.org/en/latest/tutorials/packaging-projects/#uploading-the-distribution-archives>`__ package installed and token configured on ``~/.pypirc``!
* Commit and push stable latest config

* Check package upload on the test repository (optional)
Review and publish
------------------

.. code-block:: bash
The PR is now ready to be peer-review and then merge on Github.

python3 -m twine upload --repository testpypi dist/* --verbose
Once merged to master, a tag must be deploy to run the release pipeline. The github action pipeline will automatically build and publish:

* Upload to the production repository
Exemple to release version ``4.3.5``:

.. code-block:: bash
python3 -m twine upload dist/*
git checkout master
git pull
git tag -s 4.3.5 -m '4.3.5'
git push --tags
Check if the release pipeline works as expected: `Release pipeline <https://github.com/ThePorgs/Exegol/actions/workflows/entrypoint_release.yml>`_

Post-Deploy
Post deploy
-----------

* Create new github **release** with **new** version tag
* Fast-forward dev branch to the latest master commit

After releasing a new stable version on the wrapper, we must update the dev version to stay in a beta version

* Fast-forward dev branch to the latest master commit:

.. code-block:: bash
git checkout dev
git merge master --ff-only
git push
* Change the wrapper version on the dev branch to ``x.y.zb1``

* Upgrade tests.test_exegol.py version number to the next version build to avoid future mistake
* Commit updates

Images release
==============

Expand Down

0 comments on commit 55fe608

Please sign in to comment.