Merge branch 'main' into feature/hatch-vcs-versioning #199
Workflow file for this run
This file contains hidden or 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: Python/VENV/Installer Variants | |
| on: | |
| push: | |
| workflow_call: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: | |
| # we test on lowest and highest supported versions | |
| - "3.9" | |
| - "3.14" | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: "pip" | |
| - name: VENV to be created with pip | |
| run: | | |
| make VENV_ENABLED=true VENV_CREATE=true PRIMARY_PYTHON=python3 PYTHON_PACKAGE_INSTALLER=pip test | |
| make clean | |
| - name: VENV to be created with uv to be installed | |
| run: | | |
| make VENV_ENABLED=true VENV_CREATE=true PYTHON_PACKAGE_INSTALLER=uv PRIMARY_PYTHON=python3 MXENV_UV_GLOBAL=false test | |
| make clean | |
| - name: VENV to be created with uv globally pre-installed | |
| run: | | |
| pip install uv | |
| make VENV_ENABLED=true VENV_CREATE=true PYTHON_PACKAGE_INSTALLER=uv PRIMARY_PYTHON=${{ matrix.python-version }} MXENV_UV_GLOBAL=true test | |
| make clean | |
| pip uninstall -y uv | |
| - name: VENV pre-installed with pip | |
| run: | | |
| python -m venv existingvenv | |
| make VENV_ENABLED=true VENV_CREATE=false VENV_FOLDER=existingvenv PRIMARY_PYTHON=python3 PYTHON_PACKAGE_INSTALLER=pip test | |
| make clean | |
| rm -r existingvenv | |
| - name: VENV pre-installed with uv to be installed | |
| run: | | |
| python -m venv existingvenv | |
| make VENV_ENABLED=true VENV_CREATE=false VENV_FOLDER=existingvenv PRIMARY_PYTHON=python3 PYTHON_PACKAGE_INSTALLER=uv MXENV_UV_GLOBAL=false test | |
| make clean | |
| rm -r existingvenv | |
| - name: VENV pre-installed with uv globally pre-installed | |
| run: | | |
| python -m venv existingvenv | |
| pip install uv | |
| make VENV_ENABLED=true VENV_CREATE=false VENV_FOLDER=existingvenv PYTHON_PACKAGE_INSTALLER=uv PRIMARY_PYTHON=python3 MXENV_UV_GLOBAL=true test | |
| make clean | |
| pip uninstall -y uv | |
| rm -r existingvenv | |
| - name: Global Python with pip | |
| run: | | |
| make VENV_ENABLED=false VENV_CREATE=false PRIMARY_PYTHON=python3 PYTHON_PACKAGE_INSTALLER=pip test | |
| make clean |