Add hypothesis tests for type parameters #270
Workflow file for this run
This file contains 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
name: Release Test | |
on: [push] | |
jobs: | |
package_python3: | |
name: Create sdist and Python 3 Wheel | |
runs-on: ubuntu-latest | |
outputs: | |
sdist: ${{ steps.package.outputs.sdist }} | |
wheel: ${{ steps.package.outputs.wheel }} | |
container: | |
image: danielflook/python-minifier-build:python3.12-2023-09-25 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
show-progress: false | |
- name: Set version statically | |
run: | | |
pip3 install setuptools_scm | |
VERSION="$(python3 -m setuptools_scm)" | |
sed -i "s/setup_requires=.*/version='$VERSION',/; s/use_scm_version=.*//" setup.py | |
- name: Create Packages | |
id: package | |
run: | | |
pip3 install --upgrade build | |
python3 -m build | |
echo "sdist=$(find dist -name '*.tar.gz' -printf "%f\n")" >> "$GITHUB_OUTPUT" | |
echo "wheel=$(find dist -name '*-py3-*.whl' -printf "%f\n")" >> "$GITHUB_OUTPUT" | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: dist/ | |
if-no-files-found: error | |
package_python2: | |
name: Create Python 2 Wheel | |
runs-on: ubuntu-latest | |
needs: [package_python3] | |
outputs: | |
wheel: ${{ steps.package.outputs.wheel }} | |
container: | |
image: danielflook/python-minifier-build:python2.7-2023-09-25 | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist/ | |
- name: Build wheel | |
id: package | |
run: | | |
dnf install -y findutils | |
pip install --upgrade wheel | |
pip wheel dist/${{ needs.package_python3.outputs.sdist }} -w dist | |
echo "wheel=$(find dist -name '*-py2-*.whl' -printf "%f\n")" >> "$GITHUB_OUTPUT" | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: dist/ | |
if-no-files-found: error | |
documentation: | |
name: Test Documentation | |
runs-on: ubuntu-latest | |
needs: [package_python3] | |
container: | |
image: danielflook/python-minifier-build:python3.12-2023-09-25 | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist/ | |
- name: Install package | |
run: | | |
pip3 install dist/${{needs.package_python3.outputs.sdist}} | |
pyminify --version | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
show-progress: false | |
- name: Build documentation | |
run: | | |
pip3 install sphinx sphinxcontrib-programoutput sphinx_rtd_theme | |
sphinx-build docs/source /tmp/build | |
test_package: | |
name: Test Package | |
runs-on: ubuntu-latest | |
needs: [package_python3, package_python2] | |
strategy: | |
fail-fast: false | |
matrix: | |
python: ["2.7", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | |
package_type: [sdist, wheel] | |
container: | |
image: danielflook/python-minifier-build:python${{ matrix.python }}-2023-09-25 | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist/ | |
- name: Install package | |
run: | | |
if [[ "${{ matrix.package_type }}" == "sdist" ]]; then | |
pip${{ matrix.python }} install dist/${{needs.package_python3.outputs.sdist}} | |
elif [[ "${{ matrix.python }}" == "2.7" ]]; then | |
pip${{ matrix.python }} install dist/${{needs.package_python2.outputs.wheel}} | |
else | |
pip${{ matrix.python }} install dist/${{needs.package_python3.outputs.wheel}} | |
fi | |
pyminify --version | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
show-progress: false | |
- name: Test pyminify | |
run: | | |
set -x | |
cat setup.py | pyminify - | |
pyminify setup.py > /tmp/out.min.py | |
pyminify setup.py --output /tmp/out.min.py2 | |
pyminify setup.py src test --in-place | |
test_typing: | |
runs-on: ubuntu-latest | |
needs: [package_python3] | |
strategy: | |
matrix: | |
package_type: [sdist, wheel] | |
container: | |
image: danielflook/python-minifier-build:python3.12-2023-09-25 | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist | |
path: dist/ | |
- name: Install package | |
run: | | |
if [[ "${{ matrix.package_type }}" == "sdist" ]]; then | |
pip3.12 install dist/${{needs.package_python3.outputs.sdist}} | |
else | |
pip3.12 install dist/${{needs.package_python3.outputs.wheel}} | |
fi | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
show-progress: false | |
- name: Test typing | |
run: | | |
pip3.12 install mypy types-setuptools | |
mypy --strict typing_test/test_typing.py | |
if mypy --strict typing_test/test_badtyping.py; then | |
echo "Bad types weren't detected" | |
exit 1 | |
fi | |
stubtest python_minifier --allowlist typing_test/stubtest-allowlist.txt |