api!: Move most methods from shiny.experimental.ui
into shiny.ui
; Deprecate most of shiny.experimental.ui
#2212
Workflow file for this run
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: Run tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: ["main", "rc-*"] | |
pull_request: | |
release: | |
types: [published] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# "3.10" must be a string; otherwise it is interpreted as 3.1. | |
python-version: ["3.11", "3.10", "3.9", "3.8"] | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup py-shiny | |
id: install | |
uses: ./.github/py-shiny/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run unit tests | |
if: steps.install.outcome == 'success' && (success() || failure()) | |
run: | | |
make test | |
- name: Type check with pyright | |
if: steps.install.outcome == 'success' && (success() || failure()) | |
run: | | |
make pyright | |
- name: Lint with flake8 | |
if: steps.install.outcome == 'success' && (success() || failure()) | |
run: | | |
make lint | |
- name: black and isort | |
if: steps.install.outcome == 'success' && (success() || failure()) | |
run: | | |
make check | |
e2e: | |
runs-on: ${{ matrix.os }} | |
if: github.event_name != 'release' | |
strategy: | |
matrix: | |
python-version: ["3.11", "3.10", "3.9", "3.8"] | |
os: [ubuntu-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup py-shiny | |
uses: ./.github/py-shiny/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run End-to-End tests | |
run: | | |
make e2e | |
e2e-examples: | |
runs-on: ${{ matrix.os }} | |
if: github.event_name != 'release' | |
strategy: | |
matrix: | |
python-version: ["3.11", "3.10", "3.9", "3.8"] | |
os: [ubuntu-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup py-shiny | |
uses: ./.github/py-shiny/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "18" | |
cache: npm | |
cache-dependency-path: examples/brownian/shinymediapipe/package-lock.json | |
- name: Install node.js package | |
working-directory: examples/brownian/shinymediapipe | |
run: | | |
npm ci | |
- name: Run example app tests | |
run: | | |
make e2e-examples | |
e2e-deploys: | |
# Only allow one `e2e-deploys` job to run at a time. (Independent of branch / PR) | |
concurrency: e2e-deploys | |
runs-on: ${{ matrix.os }} | |
if: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && startsWith(github.head_ref, 'deploy')) }} | |
strategy: | |
matrix: | |
python-version: ["3.10"] | |
os: [ubuntu-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup py-shiny | |
uses: ./.github/py-shiny/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run example app tests | |
env: | |
DEPLOY_CONNECT_SERVER_URL: "https://rsc.radixu.com/" | |
DEPLOY_CONNECT_SERVER_API_KEY: "${{ secrets.DEPLOY_CONNECT_SERVER_API_KEY }}" | |
DEPLOY_SHINYAPPS_NAME: "${{ secrets.DEPLOY_SHINYAPPS_NAME }}" | |
DEPLOY_SHINYAPPS_TOKEN: "${{ secrets.DEPLOY_SHINYAPPS_TOKEN }}" | |
DEPLOY_SHINYAPPS_SECRET: "${{ secrets.DEPLOY_SHINYAPPS_SECRET }}" | |
run: | | |
make e2e-deploys | |
pypi: | |
name: "Deploy to PyPI" | |
runs-on: ubuntu-latest | |
if: github.event_name == 'release' | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Set up Python 3.10" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
make install-deps | |
make install | |
- name: "Build Package" | |
run: | | |
make dist | |
# test deploy ---- | |
- name: "Test Deploy to PyPI" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
if: startsWith(github.event.release.name, 'TEST') | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_TEST_API_TOKEN }} | |
repository_url: https://test.pypi.org/legacy/ | |
## prod deploy ---- | |
- name: "Deploy to PyPI" | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
if: startsWith(github.event.release.name, 'shiny') | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} |