Skip to content

Add Phase 2 integration tests for SessionDO internal endpoints #173

Add Phase 2 integration tests for SessionDO internal endpoints

Add Phase 2 integration tests for SessionDO internal endpoints #173

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint-typescript:
name: Lint & Format (TypeScript)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
- name: Check Prettier formatting
run: npm run format:check
typecheck-typescript:
name: TypeCheck (TypeScript)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build shared package
run: npm run build -w @open-inspect/shared
- name: TypeCheck all packages
run: npm run typecheck
lint-python:
name: Lint & Format (Python)
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/modal-infra
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run Ruff linter
run: ruff check src/
- name: Run Ruff formatter check
run: ruff format --check src/
typecheck-python:
name: TypeCheck (Python)
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/modal-infra
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run MyPy
run: mypy src/
continue-on-error: true # Allow failures initially as types are added
test-typescript:
name: Test (TypeScript)
runs-on: ubuntu-latest
needs: [lint-typescript, typecheck-typescript]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build shared package
run: npm run build -w @open-inspect/shared
- name: Run control-plane tests
run: npm test -w @open-inspect/control-plane
- name: Install workerd runtime dependency
run: sudo apt-get update && sudo apt-get install -y libc++1
- name: Run control-plane integration tests
run: npm run test:integration -w @open-inspect/control-plane
- name: Run web tests
run: npm test -w @open-inspect/web
test-python:
name: Test (Python)
runs-on: ubuntu-latest
needs: [lint-python]
defaults:
run:
working-directory: packages/modal-infra
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run tests
run: pytest tests/ -v
continue-on-error: true # Allow failures if tests directory is empty