diff options
-rw-r--r-- | doc/source/index.rst | 2 | ||||
-rw-r--r-- | prepare-release.sh | 49 |
2 files changed, 44 insertions, 7 deletions
diff --git a/doc/source/index.rst b/doc/source/index.rst index a43f560..aedfdfc 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -20,7 +20,7 @@ with examples. I show you what the library is good for, how it works, how to use it, how to make it do what you want, and what to do when it violates your expectations. -This document covers Beautiful Soup version 4.12.1. The examples in +This document covers Beautiful Soup version 4.12.2. The examples in this documentation were written for Python 3.8. You might be looking for the documentation for `Beautiful Soup 3 diff --git a/prepare-release.sh b/prepare-release.sh index 2f139d7..3ccb1b3 100644 --- a/prepare-release.sh +++ b/prepare-release.sh @@ -8,7 +8,10 @@ # release the second time, add the '--pre' argument to pip install to # find the 'prerelease'. -# Change the version number in +# At some point I'll become confident enough with hatch and tox +# that it won't be necessary to do so many install and test steps. + +# First, change the version number in # CHANGELOG # bs4/__init__.py # doc/source/index.rst @@ -19,11 +22,11 @@ tox run-parallel # Build sdist and wheel. hatch build -# Test the wheel locally. +# Test the sdist locally. rm -rf ../py3-install-test-virtualenv virtualenv -p /usr/bin/python3 ../py3-install-test-virtualenv source ../py3-install-test-virtualenv/bin/activate -pip install dist/beautifulsoup4-*.whl pytest lxml html5lib soupsieve +pip install dist/beautifulsoup4-*.tar.gz pytest lxml html5lib soupsieve python -m pytest ../py3-install-test-virtualenv/lib/python3.10/site-packages/bs4/tests/ echo "EXPECT HTML ON LINE BELOW" (cd .. && which python && python -c "from bs4 import _s, __version__; print(__version__, _s('<a>foo', 'lxml'))") @@ -31,24 +34,43 @@ echo "EXPECT HTML ON LINE BELOW" # /home/.../py3-install-test-virtualenv/bin/python # [new version number] <a>foo</a> + +# Test the wheel locally. +pip uninstall beautifulsoup4 +pip install dist/beautifulsoup4-*.whl +echo "EXPECT HTML ON LINE BELOW" +(cd .. && which python && python -c "from bs4 import _s, __version__; print(__version__, _s('<a>foo', 'lxml'))") + deactivate rm -rf ../py3-install-test-virtualenv # Upload to test pypi hatch publish -r test -# Test install from test pypi +# Test install from test pypi. rm -rf ../py3-install-test-virtualenv virtualenv -p /usr/bin/python3 ../py3-install-test-virtualenv source ../py3-install-test-virtualenv/bin/activate pip install pytest lxml html5lib -pip install -i https://testpypi.python.org/pypi beautifulsoup4 --extra-index-url=https://pypi.python.org/pypi + +# First, install from source and run the tests. +pip install -i https://testpypi.python.org/pypi beautifulsoup4 --extra-index-url=https://pypi.python.org/pypi --no-binary beautifulsoup4 python -m pytest ../py3-install-test-virtualenv/lib/python3.10/site-packages/bs4/tests/ echo "EXPECT HTML ON LINE BELOW" (cd .. && which python && python -c "from bs4 import _s, __version__; print(__version__, _s('<a>foo', 'lxml'))") # That should print something like: # /home/.../py3-install-test-virtualenv/bin/python # [new version number] <a>foo</a> + +# Next, install the wheel and just test functionality. +pip uninstall beautifulsoup4 +pip install -i https://testpypi.python.org/pypi beautifulsoup4 --extra-index-url=https://pypi.python.org/pypi +echo "EXPECT HTML ON LINE BELOW" +(cd .. && which python && python -c "from bs4 import _s, __version__; print(__version__, _s('<a>foo', 'lxml'))") +# That should print something like: +# /home/.../py3-install-test-virtualenv/bin/python +# [new version number] <a>foo</a> + deactivate rm -rf ../py3-install-test-virtualenv @@ -57,12 +79,27 @@ hatch publish # Test install from production pypi +# First, from the source distibution rm -rf ../py3-install-test-virtualenv virtualenv -p /usr/bin/python3 ../py3-install-test-virtualenv source ../py3-install-test-virtualenv/bin/activate +pip install pytest lxml html5lib beautifulsoup4 --no-binary beautifulsoup4 +python -m pytest ../py3-install-test-virtualenv/lib/python3.10/site-packages/bs4/tests/ +echo "EXPECT HTML ON LINE BELOW" +(cd .. && which python && python -c "from bs4 import _s, __version__; print(__version__, _s('<a>foo', 'html.parser'))") +# That should print something like: +# /home/.../py3-install-test-virtualenv/bin/python +# [new version number] <a>foo</a> + +# Next, from the wheel +pip uninstall beautifulsoup4 pip install beautifulsoup4 echo "EXPECT HTML ON LINE BELOW" (cd .. && which python && python -c "from bs4 import _s, __version__; print(__version__, _s('<a>foo', 'html.parser'))") -# That should print '<a>foo</a>' +# That should print something like: +# /home/.../py3-install-test-virtualenv/bin/python +# [new version number] <a>foo</a> + +# Cleanup deactivate rm -rf ../py3-install-test-virtualenv |