Skip to content

Commit 8aa22c7

Browse files
committed
Update release process docs.
1 parent 33fd91e commit 8aa22c7

File tree

2 files changed

+42
-2
lines changed

2 files changed

+42
-2
lines changed

CHANGES.txt

+8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ https://mhammond.github.io/pywin32_installers.html.
1313

1414
Coming in build 307, as yet unreleased
1515
--------------------------------------
16+
### Release process changes
17+
18+
pywin32 is now released from artifacts created by Github actions, whereas previously they were
19+
created from an environment where certain tools and libraries were located and installed
20+
by hand.
21+
22+
This means some capabilities are no longer provided - this includes some documentation artifacts, such
23+
as the .chm file, certain MAPI libraries etc, and .exe installers.
1624

1725
### pywin32
1826
* Remove obsolete and unused `pywin.is_platform_unicode` (#2343, @Avasam)

README.md

+34-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ note that you must be subscribed to the list before posting.
3232

3333
## Binaries
3434

35-
[Binary releases are deprecated.](https://mhammond.github.io/pywin32_installers.html)
36-
While they are still provided, [find them here](https://github.com/mhammond/pywin32/releases)
35+
[Binary releases are no longer supported.](https://mhammond.github.io/pywin32_installers.html)
36+
37+
Build 306 was the last with .exe installers. You really shouldn't use them, but if you really need them,
38+
[find them here](https://github.com/mhammond/pywin32/releases/tag/b306)
3739

3840
## Installing via PIP
3941

@@ -133,6 +135,36 @@ configuration, please [open an issue](https://github.com/mhammond/pywin32/issues
133135
The following steps are performed when making a new release - this is mainly
134136
to form a checklist so @mhammond doesn't forget what to do :)
135137

138+
Since build 307 the release process is based on the artifacts created by Github actions.
139+
140+
* Ensure CHANGES.txt has everything worth noting. Update the header to reflect
141+
the about-to-be released build and date, commit it.
142+
143+
* Update setup.py with the new build number. Update CHANGES.txt to have a new heading
144+
section for the next unreleased version. (ie, a new, empty "Coming in build XXX, as yet unreleased"
145+
section)
146+
147+
* Push these changes to github, wait for the actions to complete, then
148+
download the artifacts from that run.
149+
150+
* Upload .whl artifacts to pypi - we do this before pushing the tag because they might be
151+
rejected for an invalid `README.md`. Done via `py -3.? -m twine upload dist/*XXX*.whl`.
152+
153+
* Create a new git tag for the release.
154+
155+
* Update setup.py with the new build number + ".1" (eg, 123.1), to ensure
156+
future test builds aren't mistaken for the real release.
157+
158+
* Make sure everything is pushed to github, including the tag (ie,
159+
`git push --tags`)
160+
161+
* Send mail to python-win32
162+
163+
### Older Manual Release Process
164+
165+
This is the old process used when a local dev environment was used to create
166+
the builds. Build 306 was the last released with this process.
167+
136168
* Ensure CHANGES.txt has everything worth noting. Update the header to reflect
137169
the about-to-be released build and date, commit it.
138170

0 commit comments

Comments
 (0)