create scaffold polars prototype #595
This file contains 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: tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: ['main', 'dev-*', 'dev'] | |
pull_request: | |
release: | |
types: [published] | |
jobs: | |
tests: | |
name: "Tests" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: 'macos-latest' | |
python-version: '3.8' | |
- os: 'windows-latest' | |
python-version: '3.9' | |
- os: 'ubuntu-latest' | |
python-version: '3.10' | |
- os: 'ubuntu-latest' | |
python-version: '3.11' | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e ".[dev]" | |
python -m pip install xgboost | |
python -m pip install spacy | |
python -m pip install torch | |
python -m pip install statsmodels | |
- name: Run Tests | |
run: | | |
pytest -m 'not rsc_test and not docker' --cov --cov-report xml | |
- name: Upload coverage | |
uses: codecov/codecov-action@v2 | |
test-rsconnect: | |
name: "Test RSConnect" | |
runs-on: ubuntu-latest | |
if: ${{ !github.event.pull_request.head.repo.fork }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install ".[dev]" | |
python -m pip install --upgrade git+https://github.com/rstudio/vetiver-python@${{ github.sha }} | |
echo {{ github.sha }} | |
- name: run Connect | |
run: | | |
docker-compose up --build -d | |
pip freeze > requirements.txt | |
make dev | |
cat requirements.txt | |
env: | |
RSC_LICENSE: ${{ secrets.RSC_LICENSE }} | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
# NOTE: edited to run checks for python package | |
- name: Run tests | |
run: | | |
pytest vetiver -m 'rsc_test' | |
test-docker: | |
name: "Test Docker" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install ".[dev]" | |
python -m pip install --upgrade git+https://github.com/rstudio/vetiver-python@${{ github.sha }} | |
- name: run Docker | |
run: | | |
python script/setup-docker/docker.py | |
pip freeze > vetiver_requirements.txt | |
docker build -t mock . | |
docker run -d -v $PWD/pinsboard:/vetiver/pinsboard -p 8080:8080 mock | |
sleep 5 | |
curl -s --retry 10 --retry-connrefused http://0.0.0.0:8080 | |
- name: Run tests | |
run: | | |
pytest vetiver -m 'docker' | |
test-no-extras: | |
name: "Test no exra ml frameworks" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e .[dev] | |
- name: Run tests | |
run: | | |
pytest vetiver/tests/test_sklearn.py | |
test-pydantic-old: | |
name: "Test pydantic v1" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e .[dev] | |
python -m pip install 'pydantic<2.0.0' | |
- name: Run tests | |
run: | | |
make test | |
typecheck: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Install Packages | |
shell: bash | |
run: | | |
pip install ".[dev,all_models]" | |
- name: Run Tests | |
shell: bash | |
run: make typecheck | |
release-pypi: | |
name: "Release to pypi" | |
runs-on: ubuntu-latest | |
if: github.event_name == 'release' | |
needs: [test-no-extras, tests, test-rsconnect] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: "Build Package" | |
run: | | |
python -m pip install build wheel | |
python -m build --sdist --wheel | |
- name: "Deploy to Test PyPI" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} |