Skip to content

feat(config): add immutable versioned experiment configurations #9

feat(config): add immutable versioned experiment configurations

feat(config): add immutable versioned experiment configurations #9

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
backend-tests:
name: Backend tests
runs-on: ubuntu-latest
timeout-minutes: 15
defaults:
run:
working-directory: backend
steps:
- name: Check out repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Java 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "21"
cache: gradle
- name: Run backend tests
run: ./gradlew test --no-daemon
frontend-typecheck:
name: Frontend typecheck
runs-on: ubuntu-latest
timeout-minutes: 10
defaults:
run:
working-directory: frontend
steps:
- name: Check out repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Node.js 24
uses: actions/setup-node@v6
with:
node-version: "24"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install frontend dependencies
run: npm ci
- name: Run TypeScript typecheck
run: npm run typecheck
worker-tests:
name: Worker tests
runs-on: ubuntu-latest
timeout-minutes: 10
defaults:
run:
working-directory: worker
steps:
- name: Check out repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Set up Python 3.13
uses: actions/setup-python@v6
with:
python-version: "3.13"
cache: pip
cache-dependency-path: worker/pyproject.toml
- name: Install Worker test dependencies
run: python -m pip install --editable ".[test]"
- name: Run Worker tests
run: python -m pytest
docker-build:
name: Docker build
runs-on: ubuntu-latest
timeout-minutes: 20
needs:
- backend-tests
- frontend-typecheck
- worker-tests
steps:
- name: Check out repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Validate Compose configuration
run: docker compose config --quiet
- name: Build service images
run: docker compose build