Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: CI

on:
push:
branches:
- main
pull_request:
workflow_dispatch:

permissions:
contents: read

concurrency:
# One CI run per branch/PR; superseded runs are cancelled to save minutes.
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
backend:
name: Backend tests
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
cache-dependency-path: package-lock.json

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm test

website:
name: Website lint and build
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
cache-dependency-path: website/package-lock.json

- name: Install dependencies
working-directory: website
run: npm ci

- name: Lint
working-directory: website
run: npm run lint

- name: Build
working-directory: website
env:
GITHUB_PAGES: true
run: npm run build
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ website/
src/backendSamples.js # GraphQL server samples in 10 backend languages
vite.config.js # Vite config (GitHub Pages base path + /graphql dev proxy)
.github/workflows/
ci.yml # Backend tests plus website lint/build on push and PRs
deploy-pages.yml # Builds website/ and publishes it to GitHub Pages
```

Expand Down Expand Up @@ -105,6 +106,18 @@ npm run lint # Oxlint
npm test
```

## Continuous integration

The [`CI`](.github/workflows/ci.yml) workflow runs on every push to `main`, on
every pull request, and on demand from the Actions tab. It has two jobs:

- **Backend tests** — `npm ci` then `npm test` (node:test) at the repository root.
- **Website lint and build** — `npm ci`, `npm run lint` (Oxlint) and
`GITHUB_PAGES=true npm run build` inside `website/`, matching what the Pages
deployment builds.

Runs are grouped per branch and superseded runs are cancelled automatically.

## Finance Cluster Integration (Priority 1)

This service now exposes a unified finance GraphQL surface over three upstream
Expand Down
Loading