Skip to content

Add conda , pyenv, pyenv-win, pipenv, pyenv-virtualenv, virtualenvwrapper #24

Add conda , pyenv, pyenv-win, pipenv, pyenv-virtualenv, virtualenvwrapper

Add conda , pyenv, pyenv-win, pipenv, pyenv-virtualenv, virtualenvwrapper #24

Workflow file for this run

name: PR/CI Check
on:
pull_request:
push:
branches-ignore:
- main
- release*
- release/*
- release-*
jobs:
tests:
name: Tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
target: x86_64-pc-windows-msvc
- os: windows-latest
target: aarch64-pc-windows-msvc
- os: ubuntu-latest
target: x86_64-unknown-linux-musl
# - os: ubuntu-latest
# target: aarch64-unknown-linux-gnu
# - os: ubuntu-latest
# target: arm-unknown-linux-gnueabihf
- os: macos-latest
target: x86_64-apple-darwin
- os: macos-14
target: aarch64-apple-darwin
# - os: ubuntu-latest
# target: x86_64-unknown-linux-gnu
# - os: ubuntu-latest
# target: aarch64-unknown-linux-musl
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Rust Tool Chain setup
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
targets: ${{ matrix.target }}
- name: Cargo Fetch
run: cargo fetch
- name: Add Conda to PATH
if: startsWith( matrix.os, 'windows')
run: echo "PATH=%PATH%;%CONDA%" >> "$GITHUB_ENV"
- name: Add Conda to PATH
if: startsWith( matrix.os, 'ubuntu') || startsWith( matrix.os, 'macos')
run: echo "PATH=$PATH:$CONDA" >> "$GITHUB_ENV"
- name: Check Conda version
run: conda info --all
- name: Install pyenv
if: startsWith( matrix.os, 'windows')
run: |
choco install pyenv-win -y
echo PATH=%PATH%;%USERPROFILE%\.pyenv\pyenv-win\bin >> $GITHUB_ENV
echo PATH=%PATH%;%USERPROFILE%\.pyenv\pyenv-win\shims >> $GITHUB_ENV
%USERPROFILE%\.pyenv\pyenv-win\bin\pyenv install 3.12.3 3.11.9 3.10.14 3.9.19 3.8.19
- name: Install pyenv
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
~/.pyenv/bin/pyenv install 3.12.3 3.11.9 3.10.14 3.9.19 3.8.19
- name: Check Pyenv version
run: pyenv --version
- name: Run Tests
run: cargo test --frozen --all-features
- name: Build
run: cargo build --release --target ${{ matrix.target }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: pet-${{ matrix.target }}
path: target/${{ matrix.target }}/release/pet*