diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml index 7d86ccac..97e507cf 100644 --- a/.github/workflows/pr-check.yml +++ b/.github/workflows/pr-check.yml @@ -39,6 +39,83 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Set Python to PATH + uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - name: Add Conda to PATH + if: startsWith( matrix.os, 'windows') || startsWith( matrix.os, 'ubuntu') + run: echo "PATH=$PATH;$CONDA/condabin" >> $GITHUB_ENV + shell: bash + + - name: Install Conda + add to PATH + if: startsWith( matrix.os, 'macos') + run: | + curl -o ~/miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh + bash ~/miniconda.sh -b -p ~/miniconda + echo "PATH=$PATH:$HOME/miniconda/bin" >> $GITHUB_ENV + echo "CONDA=$HOME/miniconda" >> $GITHUB_ENV + shell: bash + + - name: Check Conda version + run: conda info --all + + - name: Install pipenv + run: pip install pipenv + + - name: Check pipenv version + run: pipenv --version + + - name: Install virtualenvwrapper + if: startsWith( matrix.os, 'ubuntu') || startsWith( matrix.os, 'macos') + run: | + pip install virtualenvwrapper + echo "WORKON_HOME=$HOME/.virtualenvs" >> $GITHUB_ENV + shell: bash + + - name: Install virtualenvwrapper-win + if: startsWith( matrix.os, 'windows') + run: | + pip install virtualenvwrapper-win + echo "WORKON_HOME=$HOME/.virtualenvs" >> $GITHUB_ENV + shell: bash + + - name: Install pyenv + if: startsWith( matrix.os, 'windows') + run: | + choco install pyenv-win -y + echo "PATH=$PATH;$HOME/.pyenv/pyenv-win/bin;$HOME/.pyenv/pyenv-win/shims" >> $GITHUB_ENV + echo "PYENV_ROOT=$HOME/.pyenv" >> $GITHUB_ENV + shell: bash + + - name: Install pyenv and pyenv-virtualenv + if: startsWith( matrix.os, 'ubuntu') || startsWith( matrix.os, 'macos') + run: | + curl https://pyenv.run | bash + echo "PYENV_ROOT=$HOME/.pyenv" >> $GITHUB_ENV + echo "PATH=$HOME/.pyenv/bin:$PATH" >> $GITHUB_ENV + shell: bash + + - name: Check Pyenv version + run: pyenv --version + shell: bash + + - name: Install Pyenv Python(s) + if: startsWith( matrix.os, 'ubuntu') || startsWith( matrix.os, 'macos') + run: | + pyenv install --list + pyenv install 3.12.3 3.11.9 3.10.14 3.9.19 3.8.19 + shell: bash + + # pyenv-win install list has not updated for a while + - name: Install Pyenv Python(s) + if: startsWith( matrix.os, 'windows') + run: | + pyenv install --list + pyenv install 3.10.5 3.9.13 3.8.10 + shell: bash + - name: Rust Tool Chain setup uses: dtolnay/rust-toolchain@stable with: @@ -47,12 +124,15 @@ jobs: - name: Cargo Fetch run: cargo fetch + shell: bash - name: Run Tests run: cargo test --frozen --all-features + shell: bash - name: Build run: cargo build --release --target ${{ matrix.target }} + shell: bash - name: Upload Artifact uses: actions/upload-artifact@v4