Skip to content

qmd: add health doctor + surface post-commit reindex failures loudly #11

qmd: add health doctor + surface post-commit reindex failures loudly

qmd: add health doctor + surface post-commit reindex failures loudly #11

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
python:
name: Python (py-cp-sat + py-api)
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- name: py-cp-sat — sync + lint + test
working-directory: apps/py-cp-sat
run: |
uv sync --all-packages
uv run ruff check .
uv run pytest
- name: py-api — sync + test
working-directory: apps/py-api
run: |
uv sync
uv run pytest
kotlin:
name: Kotlin (cpsat-kt + kt-cp-sat + kt-api)
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "25"
# NOTE: if temurin JDK 25 is not yet published on setup-java at the
# time this workflow runs, bump distribution to "zulu" (Azul ships
# JDK 25 early) or temporarily fall back to java-version "21" and
# add a TODO to revisit.
- name: Set up Gradle
uses: gradle/gradle-build-action@v3
- name: cpsat-kt — build + test
working-directory: libs/cpsat-kt
run: ./gradlew build test
- name: kt-cp-sat — build
working-directory: apps/kt-cp-sat
run: ./gradlew build
- name: kt-api — build
working-directory: apps/kt-api
run: ./gradlew build
web:
name: Web (apps/web + apps/shared)
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: |
apps/web/package-lock.json
apps/shared/package-lock.json
- name: apps/web — install + typecheck + build
working-directory: apps/web
run: |
npm ci
npm run typecheck
npm run build
- name: apps/shared — install + validate OpenAPI
working-directory: apps/shared
run: |
npm ci
npm run validate:openapi