netlify: generate all redirects automatically
This commit is contained in:
parent
34b9445faf
commit
68e2054fc4
|
@ -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
|
||||
|
||||
# TODO: have some better system to automatically generate this on build rather
|
||||
# than check this in to the repo
|
||||
cp .netlify/_redirects netlify_build/
|
||||
# Add redirect for each documented version
|
||||
for d in netlify_build/v*; do
|
||||
version="${d/netlify_build\/v/}"
|
||||
echo "/v$version/doc/* https://docs.rs/pyo3/$version/:splat" >> netlify_build/_redirects
|
||||
done
|
||||
|
||||
# Add latest redirect
|
||||
echo "/latest/* /v${PYO3_VERSION}/:splat" >> netlify_build/_redirects
|
||||
|
||||
## Add landing page redirect
|
||||
if [ "${CONTEXT}" == "deploy-preview" ]; then
|
||||
echo "<meta http-equiv=refresh content=0;url=main/>" > netlify_build/index.html
|
||||
echo "/ /main/" >> netlify_build/_redirects
|
||||
else
|
||||
echo "<meta http-equiv=refresh content=0;url=v${PYO3_VERSION}/>" > netlify_build/index.html
|
||||
echo "/ /v${PYO3_VERSION}/>" >> netlify_build/_redirects
|
||||
fi
|
||||
|
||||
## 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.
|
||||
- `[towncrier]` section in `pyproject.toml`.
|
||||
|
||||
Places where you need to be a bit careful:
|
||||
- Add _new_ lines to the netlify `_redirects` file rather than replacing the existing ones.
|
||||
- Make sure not to modify the CHANGELOG during this step!
|
||||
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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue