Skip to content

Add hypothesis tests for type parameters #270

Add hypothesis tests for type parameters

Add hypothesis tests for type parameters #270

Workflow file for this run

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