-
Notifications
You must be signed in to change notification settings - Fork 4
/
RELEASE-HOWTO
60 lines (39 loc) · 1.72 KB
/
RELEASE-HOWTO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Description of the new release procedure
----------------------------------------
1. Merge gitcral and github
git remote add github [email protected]:musevlt/mpdaf.git
git fetch github
git merge github/master
in case of conflict: git add + git commit
2. Update changelog, update version number and date (CHANGELOG)
3. Run tests and build documentation to make sure that everything is ok.
4. Commit and push.
git push origin master
git push github master
5. When Gitlab-CI is happy, tag the version and push tags .
The package version is set automatically from the git tag thanks to
setuptools_scm.
git push --tags
git push github <tag_name>
6. Activate the new version on https://readthedocs.org/projects/mpdaf/versions/ (Edit/Active)
7. Create the sdist archive, from a clean tree:
git clean -fxd .
pip install build
python -m build --sdist
8. Install the sdist archive in a fresh virtualenv and run tests.
virtualenv test-new-version
source test-new-version/bin/activate
pip install dist/mpdaf-3.0.tar.gz
pip install pytest
python -c "import mpdaf; print(mpdaf.__file__)"
pytest $(dirname $(python -c "import mpdaf; print(mpdaf.__file__)"))
9. Upload the sdist archive to PyPI:
pip install twine
twine upload -u <username> dist/*
10. Build the binary wheels.
On https://github.com/musevlt/mpdaf-wheels, edit MPDAF_VERSION in the
.github/workflows/build.yml file, commit and push. Then wheels should be
build on https://github.com/musevlt/mpdaf-wheels/actions and available
as artifacts if it was successful.
Download the wheels, and push them to PyPI with twine.
11. Prepare the next version: add new version header in the changelog.