mirror of https://github.com/astral-sh/ruff
parent
8d73866f70
commit
06284c3700
|
|
@ -329,13 +329,13 @@ even patch releases may contain [non-backwards-compatible changes](https://semve
|
||||||
|
|
||||||
### Creating a new release
|
### Creating a new release
|
||||||
|
|
||||||
We use an experimental in-house tool for managing releases.
|
1. Install `uv`: `curl -LsSf https://astral.sh/uv/install.sh | sh`
|
||||||
|
1. Run `./scripts/release/bump.sh`; this command will:
|
||||||
1. Install `rooster`: `pip install git+https://github.com/zanieb/rooster@main`
|
- Generate a temporary virtual environment with `rooster`
|
||||||
1. Run `rooster release`; this command will:
|
|
||||||
- Generate a changelog entry in `CHANGELOG.md`
|
- Generate a changelog entry in `CHANGELOG.md`
|
||||||
- Update versions in `pyproject.toml` and `Cargo.toml`
|
- Update versions in `pyproject.toml` and `Cargo.toml`
|
||||||
- Update references to versions in the `README.md` and documentation
|
- Update references to versions in the `README.md` and documentation
|
||||||
|
- Display contributors for the release
|
||||||
1. The changelog should then be editorialized for consistency
|
1. The changelog should then be editorialized for consistency
|
||||||
- Often labels will be missing from pull requests they will need to be manually organized into the proper section
|
- Often labels will be missing from pull requests they will need to be manually organized into the proper section
|
||||||
- Changes should be edited to be user-facing descriptions, avoiding internal details
|
- Changes should be edited to be user-facing descriptions, avoiding internal details
|
||||||
|
|
@ -359,7 +359,7 @@ We use an experimental in-house tool for managing releases.
|
||||||
1. Open the draft release in the GitHub release section
|
1. Open the draft release in the GitHub release section
|
||||||
1. Copy the changelog for the release into the GitHub release
|
1. Copy the changelog for the release into the GitHub release
|
||||||
- See previous releases for formatting of section headers
|
- See previous releases for formatting of section headers
|
||||||
1. Generate the contributor list with `rooster contributors` and add to the release notes
|
1. Append the contributors from the `bump.sh` script
|
||||||
1. If needed, [update the schemastore](https://github.com/astral-sh/ruff/blob/main/scripts/update_schemastore.py).
|
1. If needed, [update the schemastore](https://github.com/astral-sh/ruff/blob/main/scripts/update_schemastore.py).
|
||||||
1. One can determine if an update is needed when
|
1. One can determine if an update is needed when
|
||||||
`git diff old-version-tag new-version-tag -- ruff.schema.json` returns a non-empty diff.
|
`git diff old-version-tag new-version-tag -- ruff.schema.json` returns a non-empty diff.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Prepare for a release
|
||||||
|
#
|
||||||
|
# All additional options are passed to `rooster`
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
script_root="$(realpath "$(dirname "$0")")"
|
||||||
|
project_root="$(dirname "$(dirname "$script_root")")"
|
||||||
|
|
||||||
|
cd "$script_root"
|
||||||
|
echo "Setting up a temporary environment..."
|
||||||
|
uv venv
|
||||||
|
|
||||||
|
source ".venv/bin/activate"
|
||||||
|
uv pip install -r requirements.txt
|
||||||
|
|
||||||
|
echo "Updating metadata with rooster..."
|
||||||
|
cd "$project_root"
|
||||||
|
rooster release "$@"
|
||||||
|
|
||||||
|
echo "Updating lockfile..."
|
||||||
|
cargo check
|
||||||
|
|
||||||
|
echo "Generating contributors list..."
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
rooster contributors --quiet
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
rooster-blue
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
# This file was autogenerated by uv v0.1.1 via the following command:
|
||||||
|
# uv pip compile scripts/release/requirements.in -o scripts/release/requirements.txt --upgrade
|
||||||
|
annotated-types==0.6.0
|
||||||
|
# via pydantic
|
||||||
|
anyio==4.3.0
|
||||||
|
# via httpx
|
||||||
|
certifi==2024.2.2
|
||||||
|
# via
|
||||||
|
# httpcore
|
||||||
|
# httpx
|
||||||
|
cffi==1.16.0
|
||||||
|
# via pygit2
|
||||||
|
click==8.1.7
|
||||||
|
# via typer
|
||||||
|
h11==0.14.0
|
||||||
|
# via httpcore
|
||||||
|
hishel==0.0.12
|
||||||
|
# via rooster-blue
|
||||||
|
httpcore==1.0.4
|
||||||
|
# via httpx
|
||||||
|
httpx==0.25.2
|
||||||
|
# via
|
||||||
|
# hishel
|
||||||
|
# rooster-blue
|
||||||
|
idna==3.6
|
||||||
|
# via
|
||||||
|
# anyio
|
||||||
|
# httpx
|
||||||
|
marko==2.0.3
|
||||||
|
# via rooster-blue
|
||||||
|
packaging==23.2
|
||||||
|
# via rooster-blue
|
||||||
|
pycparser==2.21
|
||||||
|
# via cffi
|
||||||
|
pydantic==2.6.1
|
||||||
|
# via rooster-blue
|
||||||
|
pydantic-core==2.16.2
|
||||||
|
# via pydantic
|
||||||
|
pygit2==1.14.1
|
||||||
|
# via rooster-blue
|
||||||
|
rooster-blue==0.0.2
|
||||||
|
setuptools==69.1.0
|
||||||
|
# via pygit2
|
||||||
|
sniffio==1.3.0
|
||||||
|
# via
|
||||||
|
# anyio
|
||||||
|
# httpx
|
||||||
|
tqdm==4.66.2
|
||||||
|
# via rooster-blue
|
||||||
|
typer==0.9.0
|
||||||
|
# via rooster-blue
|
||||||
|
typing-extensions==4.9.0
|
||||||
|
# via
|
||||||
|
# pydantic
|
||||||
|
# pydantic-core
|
||||||
|
# typer
|
||||||
Loading…
Reference in New Issue