Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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
Expand Down