Skip to content

docs: add common pitfalls section to deploying custom code (#228) #623

docs: add common pitfalls section to deploying custom code (#228)

docs: add common pitfalls section to deploying custom code (#228) #623

Workflow file for this run

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.9'
- os: 'windows-latest'
python-version: '3.10'
- os: 'ubuntu-latest'
python-version: '3.11'
- os: 'ubuntu-latest'
python-version: '3.12'
- os: 'ubuntu-latest'
python-version: '3.13'
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, all_models]"
- 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-connect:
name: "Test Posit Connect"
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.9"
- 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.10"
- 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.10"
- 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.9
- 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-connect]
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 }}