Skip to content

refactor(profile,ui): flat grouped profile edit + component library d… #771

refactor(profile,ui): flat grouped profile edit + component library d…

refactor(profile,ui): flat grouped profile edit + component library d… #771

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: ['**']
merge_group:
permissions:
contents: read
env:
NODE_VERSION: '20'
jobs:
lint-and-build:
name: Lint & Build
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Build
run: npm run build
env:
WORKOS_CLIENT_ID: client_placeholder
WORKOS_API_KEY: sk_placeholder
WORKOS_COOKIE_PASSWORD: placeholder_cookie_password_at_least_32_chars
WORKOS_REDIRECT_URI: https://example.com/callback
NEXT_PUBLIC_API_URL: https://api.example.com
NEXT_PUBLIC_SITE_URL: https://example.com
frontend-tests:
name: Frontend Tests
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run test:run
# The Mukoko Events MCP server (nyuchi/mukoko-events-mcp) and the Mukoko
# Events Admin app (nyuchi/mukoko-events-admin) are now separate repos with
# their own CI. This workflow covers the public Nhimbe app only.
# ============================================
# CODE REVIEW — Claude on pull requests
# ============================================
claude-code-review:
name: Claude Code Review
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Claude Code Review
# Advisory check — the bot posts review comments via the Claude API
# and can fail for reasons outside the PR's quality (large diffs that
# bust the action's prompt window, API quota, beta-tag regressions).
# step-level continue-on-error lets the job (and the check listed in
# branch protection) report success even when the bot itself errored;
# the failure still surfaces as an annotation on the step for humans
# to investigate. Job-level continue-on-error wouldn't help here — it
# only stops the workflow from failing overall, the check still shows
# red and blocks branch-protection gates that require this check name.
continue-on-error: true
uses: anthropics/claude-code-action@beta
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
direct_prompt: |
Review this PR for:
1. Security vulnerabilities (XSS, injection, auth bypass, insecure randomness)
2. Performance issues
3. Code quality and adherence to project conventions (see CLAUDE.md)
4. Potential bugs or edge cases
Be concise. Only flag real issues, not style preferences.
# NOTE: The "Run D1 Migrations" job was removed when the database moved to
# MongoDB (the Mukoko v3.1 cluster). Collections, validators, and indexes are
# owned by the nyuchi_platform_db project — this repo is a read/write consumer
# only and has no migrations to run.