Merge #2871
2871: netlify: generate all redirects automatically r=messense a=davidhewitt Uses the versions from the pulled `gh-pages` tarball to generate the `docs.rs` redirects. Simplifies the release process. Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
This commit is contained in:
commit
61e0a09cb7
|
@ -1,71 +0,0 @@
|
||||||
/0.1.0/doc/* https://docs.rs/pyo3/0.1.0/:splat
|
|
||||||
/0.2.0/doc/* https://docs.rs/pyo3/0.2.0/:splat
|
|
||||||
/0.2.1/doc/* https://docs.rs/pyo3/0.2.1/:splat
|
|
||||||
/0.2.2/doc/* https://docs.rs/pyo3/0.2.2/:splat
|
|
||||||
/pyo3-derive-backend-0.6.0/doc/* https://docs.rs/pyo3/pyo3-derive-backend-0.6.0/:splat
|
|
||||||
/v0.10.0/doc/* https://docs.rs/pyo3/0.10.0/:splat
|
|
||||||
/v0.10.1/doc/* https://docs.rs/pyo3/0.10.1/:splat
|
|
||||||
/v0.11.0/doc/* https://docs.rs/pyo3/0.11.0/:splat
|
|
||||||
/v0.11.1/doc/* https://docs.rs/pyo3/0.11.1/:splat
|
|
||||||
/v0.12.0/doc/* https://docs.rs/pyo3/0.12.0/:splat
|
|
||||||
/v0.12.1/doc/* https://docs.rs/pyo3/0.12.1/:splat
|
|
||||||
/v0.12.2/doc/* https://docs.rs/pyo3/0.12.2/:splat
|
|
||||||
/v0.12.3/doc/* https://docs.rs/pyo3/0.12.3/:splat
|
|
||||||
/v0.12.4/doc/* https://docs.rs/pyo3/0.12.4/:splat
|
|
||||||
/v0.13.0/doc/* https://docs.rs/pyo3/0.13.0/:splat
|
|
||||||
/v0.13.1/doc/* https://docs.rs/pyo3/0.13.1/:splat
|
|
||||||
/v0.13.2/doc/* https://docs.rs/pyo3/0.13.2/:splat
|
|
||||||
/v0.14.0/doc/* https://docs.rs/pyo3/0.14.0/:splat
|
|
||||||
/v0.14.1/doc/* https://docs.rs/pyo3/0.14.1/:splat
|
|
||||||
/v0.14.2/doc/* https://docs.rs/pyo3/0.14.2/:splat
|
|
||||||
/v0.14.3/doc/* https://docs.rs/pyo3/0.14.3/:splat
|
|
||||||
/v0.14.4/doc/* https://docs.rs/pyo3/0.14.4/:splat
|
|
||||||
/v0.14.5/doc/* https://docs.rs/pyo3/0.14.5/:splat
|
|
||||||
/v0.15.0/doc/* https://docs.rs/pyo3/0.15.0/:splat
|
|
||||||
/v0.15.1/doc/* https://docs.rs/pyo3/0.15.1/:splat
|
|
||||||
/v0.15.2/doc/* https://docs.rs/pyo3/0.15.2/:splat
|
|
||||||
/v0.16.0/doc/* https://docs.rs/pyo3/0.16.0/:splat
|
|
||||||
/v0.16.1/doc/* https://docs.rs/pyo3/0.16.1/:splat
|
|
||||||
/v0.16.2/doc/* https://docs.rs/pyo3/0.16.2/:splat
|
|
||||||
/v0.16.3/doc/* https://docs.rs/pyo3/0.16.3/:splat
|
|
||||||
/v0.16.4/doc/* https://docs.rs/pyo3/0.16.4/:splat
|
|
||||||
/v0.16.5/doc/* https://docs.rs/pyo3/0.16.5/:splat
|
|
||||||
/v0.16.6/doc/* https://docs.rs/pyo3/0.16.6/:splat
|
|
||||||
/v0.17.0/doc/* https://docs.rs/pyo3/0.17.0/:splat
|
|
||||||
/v0.17.1/doc/* https://docs.rs/pyo3/0.17.1/:splat
|
|
||||||
/v0.17.2/doc/* https://docs.rs/pyo3/0.17.2/:splat
|
|
||||||
/v0.17.3/doc/* https://docs.rs/pyo3/0.17.3/:splat
|
|
||||||
/v0.2.3/doc/* https://docs.rs/pyo3/0.2.3/:splat
|
|
||||||
/v0.2.4/doc/* https://docs.rs/pyo3/0.2.4/:splat
|
|
||||||
/v0.2.5/doc/* https://docs.rs/pyo3/0.2.5/:splat
|
|
||||||
/v0.2.6/doc/* https://docs.rs/pyo3/0.2.6/:splat
|
|
||||||
/v0.2.7/doc/* https://docs.rs/pyo3/0.2.7/:splat
|
|
||||||
/v0.3.0/doc/* https://docs.rs/pyo3/0.3.0/:splat
|
|
||||||
/v0.3.1/doc/* https://docs.rs/pyo3/0.3.1/:splat
|
|
||||||
/v0.3.2/doc/* https://docs.rs/pyo3/0.3.2/:splat
|
|
||||||
/v0.4.0/doc/* https://docs.rs/pyo3/0.4.0/:splat
|
|
||||||
/v0.4.1/doc/* https://docs.rs/pyo3/0.4.1/:splat
|
|
||||||
/v0.5.0/doc/* https://docs.rs/pyo3/0.5.0/:splat
|
|
||||||
/v0.5.0-alpha.2/doc/* https://docs.rs/pyo3/0.5.0-alpha.2/:splat
|
|
||||||
/v0.5.0-alpha.3/doc/* https://docs.rs/pyo3/0.5.0-alpha.3/:splat
|
|
||||||
/v0.5.1/doc/* https://docs.rs/pyo3/0.5.1/:splat
|
|
||||||
/v0.5.2/doc/* https://docs.rs/pyo3/0.5.2/:splat
|
|
||||||
/v0.5.3/doc/* https://docs.rs/pyo3/0.5.3/:splat
|
|
||||||
/v0.5.4/doc/* https://docs.rs/pyo3/0.5.4/:splat
|
|
||||||
/v0.6.0/doc/* https://docs.rs/pyo3/0.6.0/:splat
|
|
||||||
/v0.6.0-alpha.1/doc/* https://docs.rs/pyo3/0.6.0-alpha.1/:splat
|
|
||||||
/v0.6.0-alpha.2/doc/* https://docs.rs/pyo3/0.6.0-alpha.2/:splat
|
|
||||||
/v0.6.0-alpha.3/doc/* https://docs.rs/pyo3/0.6.0-alpha.3/:splat
|
|
||||||
/v0.6.0-alpha.4/doc/* https://docs.rs/pyo3/0.6.0-alpha.4/:splat
|
|
||||||
/v0.7.0/doc/* https://docs.rs/pyo3/0.7.0/:splat
|
|
||||||
/v0.7.0-alpha.1/doc/* https://docs.rs/pyo3/0.7.0-alpha.1/:splat
|
|
||||||
/v0.8.0/doc/* https://docs.rs/pyo3/0.8.0/:splat
|
|
||||||
/v0.8.1/doc/* https://docs.rs/pyo3/0.8.1/:splat
|
|
||||||
/v0.8.2/doc/* https://docs.rs/pyo3/0.8.2/:splat
|
|
||||||
/v0.8.3/doc/* https://docs.rs/pyo3/0.8.3/:splat
|
|
||||||
/v0.8.4/doc/* https://docs.rs/pyo3/0.8.4/:splat
|
|
||||||
/v0.8.5/doc/* https://docs.rs/pyo3/0.8.5/:splat
|
|
||||||
/v0.9.0/doc/* https://docs.rs/pyo3/0.9.0/:splat
|
|
||||||
/v0.9.0-alpha.1/doc/* https://docs.rs/pyo3/0.9.0-alpha.1/:splat
|
|
||||||
/v0.9.1/doc/* https://docs.rs/pyo3/0.9.1/:splat
|
|
||||||
/v0.9.2/doc/* https://docs.rs/pyo3/0.9.2/:splat
|
|
|
@ -16,18 +16,20 @@ mv pyo3-gh-pages netlify_build
|
||||||
|
|
||||||
## Configure netlify _redirects file
|
## Configure netlify _redirects file
|
||||||
|
|
||||||
# TODO: have some better system to automatically generate this on build rather
|
# Add redirect for each documented version
|
||||||
# than check this in to the repo
|
for d in netlify_build/v*; do
|
||||||
cp .netlify/_redirects netlify_build/
|
version="${d/netlify_build\/v/}"
|
||||||
|
echo "/v$version/doc/* https://docs.rs/pyo3/$version/:splat" >> netlify_build/_redirects
|
||||||
|
done
|
||||||
|
|
||||||
# Add latest redirect
|
# Add latest redirect
|
||||||
echo "/latest/* /v${PYO3_VERSION}/:splat" >> netlify_build/_redirects
|
echo "/latest/* /v${PYO3_VERSION}/:splat" >> netlify_build/_redirects
|
||||||
|
|
||||||
## Add landing page redirect
|
## Add landing page redirect
|
||||||
if [ "${CONTEXT}" == "deploy-preview" ]; then
|
if [ "${CONTEXT}" == "deploy-preview" ]; then
|
||||||
echo "<meta http-equiv=refresh content=0;url=main/>" > netlify_build/index.html
|
echo "/ /main/" >> netlify_build/_redirects
|
||||||
else
|
else
|
||||||
echo "<meta http-equiv=refresh content=0;url=v${PYO3_VERSION}/>" > netlify_build/index.html
|
echo "/ /v${PYO3_VERSION}/>" >> netlify_build/_redirects
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Generate towncrier release notes
|
## Generate towncrier release notes
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
#!/usr/bin/env python
|
|
||||||
"""Generates _redirects file for netlify.
|
|
||||||
|
|
||||||
Run this and write output to .netlify/_redirects and check into
|
|
||||||
the PyO3 repository.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
|
||||||
versions = subprocess.check_output(["git", "tag"], text=True).splitlines()
|
|
||||||
for version in versions:
|
|
||||||
version_without_v = version.lstrip("v")
|
|
||||||
# redirect doc requests to docs.rs
|
|
||||||
print(f"/{version}/doc/* https://docs.rs/pyo3/{version_without_v}/:splat")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
|
@ -13,9 +13,7 @@ Follow the process below to update all required pieces to bump the version. All
|
||||||
- `pre-script.rhai` templates for the examples.
|
- `pre-script.rhai` templates for the examples.
|
||||||
- `[towncrier]` section in `pyproject.toml`.
|
- `[towncrier]` section in `pyproject.toml`.
|
||||||
|
|
||||||
Places where you need to be a bit careful:
|
Make sure not to modify the CHANGELOG during this step!
|
||||||
- Add _new_ lines to the netlify `_redirects` file rather than replacing the existing ones.
|
|
||||||
- Make sure not to modify the CHANGELOG during this step!
|
|
||||||
|
|
||||||
2. Run `towncrier build` to generate the CHANGELOG. The version used by `towncrier` should automatically be correct because of the update to `pyproject.toml` in step 1.
|
2. Run `towncrier build` to generate the CHANGELOG. The version used by `towncrier` should automatically be correct because of the update to `pyproject.toml` in step 1.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue