Skip to content

Visual Workflow Builder (Phases 1–8 + AI agent) → develop #687

Visual Workflow Builder (Phases 1–8 + AI agent) → develop

Visual Workflow Builder (Phases 1–8 + AI agent) → develop #687

Workflow file for this run

name: Backend Quality Assurance
permissions:
contents: read
on:
pull_request:
types: [opened, synchronize, reopened]
branches: [main, develop]
paths:
- 'apps/backend-services/**'
- 'apps/shared/**'
- 'packages/**'
- 'docs-md/workflows/templates/**'
- 'scripts/lint-workflows.mjs'
- '.github/workflows/backend-qa.yml'
workflow_dispatch:
jobs:
test-and-lint:
name: Backend Quality Assurance
runs-on: ubuntu-latest
outputs:
environment: ${{ steps.env.outputs.environment }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Get Environment
id: env
uses: ./.github/actions/get-environment
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Install dependencies
run: npm install --ignore-scripts --no-package-lock
- name: Build shared packages
run: npm run build:packages
# Prisma-generated types needed
# ENV is just so this will run
- name: Generate Prisma files
working-directory: apps/backend-services
run: npm run db:generate
env:
DATABASE_URL: "postgresql://localhost:5432/dummy"
# Validates every shipped workflow template against the CURRENT catalog and
# kind taxonomy. A catalog or taxonomy change can silently invalidate a
# template that no test opens — which is what the 2026-07-18 kind wave did.
# Runs after build:packages because it loads the built validator.
#
# Templates only: the seeded demos live in the database, so shape coverage
# here is partial and the script reports it as informational. `--strict`
# therefore gates on document validity alone — which is the part that can
# regress from a code change. Judging shape gaps needs `--db`, locally.
- name: Lint shipped workflows
run: npm run workflows:lint -- --strict
- name: Lint
working-directory: apps/backend-services
run: npm run lint
- name: Type Check
working-directory: apps/backend-services
run: npm run type-check
- name: Build
working-directory: apps/backend-services
run: npm run build
env:
DATABASE_URL: "postgresql://localhost:5432/dummy"
- name: Test
working-directory: apps/backend-services
run: npm run test:cov