diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index b976edcd..452481fb 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -47,6 +47,36 @@ jobs: - name: Validate pyproject.toml run: validate-pyproject pyproject.toml + test-minimum-requirements: + name: Test minimum requirements + runs-on: ubuntu-latest + + strategy: + matrix: + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Set minimum requirements + run: sed -i "/^\s/ s/>=/==/g" pyproject.toml + + - name: Install xml2rfc + run: | + xargs -I {} pip --quiet uninstall -y "{}" + pip install . + + - name: Sanity check + run: | + xml2rfc --version + xml2rfc --man > /dev/null + tests-linux: name: Unit Tests (Linux) runs-on: ubuntu-latest diff --git a/pyproject.toml b/pyproject.toml index 8286df9a..38c66d15 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,17 +25,17 @@ classifiers = [ "Programming Language :: Python :: 3.13" ] dependencies = [ - "platformdirs>=3.6.0", - "configargparse>=1.2.3", - "google-i18n-address>=3.0.0", - "intervaltree>=3.1.0", - "jinja2>=3.1.2", - "lxml>=5.3.0", - "pycountry>=22.3.5", - "pyyaml>=5.3.1", - "requests>=2.5.0", - "setuptools>=24.2.0", - "wcwidth>=0.2.5" + "platformdirs==3.6.0", + "configargparse==1.2.3", + "google-i18n-address==3.0.0", + "intervaltree==3.1.0", + "jinja2==3.1.2", + "lxml==5.3.0", + "pycountry==23.12.7", + "pyyaml==5.3.1", + "requests==2.19.0", + "setuptools==24.2.0", + "wcwidth==0.2.5" ] [project.urls]