format yaml #635
This file contains hidden or 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.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 | |
- name: Install uv and Python | |
uses: astral-sh/setup-uv@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
uv pip install --upgrade pip | |
uv 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 | |
- name: Install uv and Python | |
uses: astral-sh/setup-uv@v5 | |
with: | |
python-version: "3.9" | |
- name: Install dependencies | |
run: | | |
uv pip install --upgrade pip | |
uv pip install ".[dev]" | |
uv 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 | |
- name: Install uv and Python | |
uses: astral-sh/setup-uv@v5 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: | | |
uv pip install --upgrade pip | |
uv pip install ".[dev]" | |
uv 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 | |
- name: Install uv and Python | |
uses: astral-sh/setup-uv@v5 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: | | |
uv pip install --upgrade pip | |
uv 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 | |
- name: Install uv and Python | |
uses: astral-sh/setup-uv@v5 | |
with: | |
python-version: "3.11" | |
- name: Install Packages | |
shell: bash | |
run: | | |
uv 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 | |
- name: Install uv and Python | |
uses: astral-sh/setup-uv@v5 | |
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 }} |