-
Notifications
You must be signed in to change notification settings - Fork 0
Update README.md and document the release process in more detail #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,38 @@ | ||
| # librt: mypyc runtime library | ||
|
|
||
| This library contains efficient C implementations of various Python standard | ||
| library classes and functions. Mypyc can use these fast implementations when | ||
| compiling Python code to native extension modules. | ||
|
|
||
| This repository is used to build/publish mypyc runtime library. Development happens | ||
| in [mypy repository](https://github.com/python/mypy). Code is then perodically | ||
| synced from `mypyc/lib-rt` [subdirectory there](https://github.com/python/mypy/tree/master/mypyc/lib-rt). | ||
| Issues should be reported to mypyc [issue tracker](https://github.com/mypyc/mypyc/issues). | ||
|
|
||
| Note: wheels are built on each PR and push to master. To publish to PyPI: | ||
| * Create a tag matching the version in `pyproject.toml`. | ||
| * Trigger the `buildwheels.yml` workflow manually. | ||
| This library contains basic functionality that is useful in code compiled | ||
| using mypyc, and efficient C implementations of various Python standard library | ||
| classes and functions. Mypyc can produce faster extensions when you use `librt` in | ||
| the code you compile. `librt` also contains some internal library features used by mypy. | ||
|
|
||
| This repository is only used to build and publish the mypyc runtime library. Development | ||
| happens in the [mypy repository](https://github.com/python/mypy). Code is then perodically | ||
| synced from the `mypyc/lib-rt` | ||
| [subdirectory in the mypy repository](https://github.com/python/mypy/tree/master/mypyc/lib-rt). | ||
|
|
||
| Report any issues in the [mypyc issue tracker](https://github.com/mypyc/mypyc/issues). | ||
|
|
||
| ## Making a release | ||
|
|
||
| 1. As a prerequisite, there generally will be some changes in the mypy repository under `mypyc/lib-rt` | ||
| that you want to release. | ||
| 2. Run the `sync-mypy.py` script in this repository to sync changes from the mypy repository. | ||
| 3. Bump the version number in `pyproject.toml` in this repository. | ||
| 4. Update `smoke_tests.py` (optional but recommended for new features). Here's how to run tests: | ||
| * Activate a dedicated virtualenv (don't reuse your mypy virtualenv). | ||
| * `pip install -U ./lib-rt` | ||
| * `pip install pytest mypy-extensions` | ||
| * `pytest smoke_tests.py` | ||
| 5. Commit and push (pushing directly to master is fine). | ||
| 6. Wait until all [builds](https://github.com/mypyc/librt/actions) complete successfully | ||
| (no release is triggered yet). | ||
| 7. Once builds are complete, tag the release (`git tag vX.Y.Z`; `git push origin vX.Y.Z`). | ||
| 8. Go to the ["Actions" tab](https://github.com/mypyc/librt/actions) and click "Build wheels" | ||
| on the left. | ||
| 9. Click "Run workflow" and pick the newly created tag from the drop-down list. This will build | ||
| *and upload* the wheels. | ||
| 10. After the workflow completes, verify that `pip install -U librt` installs the new version from PyPI. | ||
| 11. Create a PR to update the `librt` version in `mypy-requirements.txt` and `test-requirements.txt` | ||
| in the mypy repository. | ||
|
|
||
| The process should take about 20 minutes. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are also two places in
pyproject.tomlthat need to be updated:build-system.requiresandproject.dependencies.