Skip to content

fix: resuming when auto-instantiate is false #2960

fix: resuming when auto-instantiate is false

fix: resuming when auto-instantiate is false #2960

Workflow file for this run

name: test
on:
push:
branches: [main]
pull_request: {}
env:
# Turbocache
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: marimo
TURBO_API: "https://cache.turbocache.build"
TURBO_RUN_SUMMARY: true
jobs:
test_frontend:
name: 🖥️ Lint, test, build frontend
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: ./frontend
shell: bash
steps:
- name: 🛑 Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.12.1
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0 # so we can run --since on the main branch and turbo can do faster cache hashing
- uses: pnpm/action-setup@v2
with:
version: 8
- name: ⎔ Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18
cache: "pnpm"
cache-dependency-path: "**/pnpm-lock.yaml"
- uses: turbocache-build/turbocache-action@v1
- name: 📥 Install dependencies
run: pnpm install
- name: 📦 pnpm dedupe
if: github.event_name == 'pull_request'
run: pnpm dedupe --check
- name: 🧹 Lint
run: pnpm turbo lint
- name: 🔎 Type check
run: pnpm turbo typecheck
- name: 🧪 Test
run: pnpm turbo test
- name: 📦 Build
run: pnpm turbo build
test_python:
name: Tests on ${{ matrix.os }}, Python ${{ matrix.python-version }} with ${{ matrix.dependencies }} dependencies
runs-on: ${{ matrix.os }}
timeout-minutes: 10
defaults:
run:
shell: bash
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
dependencies: ["core", "core,optional"]
python-version: ["3.8"]
include:
- os: ubuntu-latest
python-version: "3.9"
dependencies: "core"
- os: ubuntu-latest
python-version: "3.10"
dependencies: "core"
- os: ubuntu-latest
python-version: "3.11"
dependencies: "core"
- os: ubuntu-latest
python-version: "3.12"
dependencies: "core"
- os: ubuntu-latest
python-version: "3.9"
dependencies: "core,optional"
- os: ubuntu-latest
python-version: "3.10"
dependencies: "core,optional"
- os: ubuntu-latest
python-version: "3.11"
dependencies: "core,optional"
- os: ubuntu-latest
python-version: "3.12"
dependencies: "core,optional"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
# This step is needed since some of our tests rely on the index.html file
- name: Create assets directory, copy over index.html
run: |
mkdir -p marimo/_static/assets
cp frontend/index.html marimo/_static/index.html
cp frontend/public/favicon.ico marimo/_static/favicon.ico
# Lint, typecheck
# Each run command runs in a separate shell, so we need to
# reactivate the virtual environment every time
- name: Install marimo with dev dependencies
run: |
python -m venv marimo-dev-env
if [ "$RUNNER_OS" == "Windows" ]; then
marimo-dev-env\\Scripts\\activate
else
source marimo-dev-env/bin/activate
fi
python -m pip install --upgrade pip
pip install .[dev]
- name: Lint
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
marimo-dev-env\\Scripts\\activate
else
source marimo-dev-env/bin/activate
fi
ruff marimo/
- name: Typecheck
if: ${{ matrix.python-version == '3.9' || matrix.python-version == '3.10' }}
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
marimo-dev-env\\Scripts\\activate
else
source marimo-dev-env/bin/activate
fi
mypy --config-file pyproject.toml marimo/
# Test with minimal dependencies
- name: Test with minimal dependencies
if: ${{ matrix.dependencies == 'core' }}
run: |
python -m venv marimo-test-env
if [ "$RUNNER_OS" == "Windows" ]; then
marimo-test-env\\Scripts\\activate
else
source marimo-test-env/bin/activate
fi
python -m pip install --upgrade pip
pip install .[testcore]
pytest -v tests/ -k "not test_cli"
# Test with optional dependencies
- name: Test with optional dependencies
if: ${{ matrix.dependencies == 'core,optional' }}
run: |
python -m venv marimo-test-optional-env
if [ "$RUNNER_OS" == "Windows" ]; then
marimo-test-optional-env\\Scripts\\activate
else
source marimo-test-optional-env/bin/activate
fi
python -m pip install --upgrade pip
pip install .[testcore,testoptional]
# Only collect coverage on the 3.11
if [ "${{ matrix.python-version }}" == "3.11" ]; then
pytest -v tests/ -k "not test_cli" --cov=marimo --cov-branch
else
pytest -v tests/ -k "not test_cli"
fi
- name: Upload coverage reports to Codecov
if: ${{ matrix.python-version == '3.11' && matrix.os == 'ubuntu-latest' }}
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
typos:
name: Check for typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.18.2