Skip to content

Archive #154

Archive #154 #196

name: Simple Comment
on:
pull_request:
branches: [master]
jobs:
quality-gate:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install
# CI/local parity governance: any required PR-gate CI step/env change in this
# workflow MUST be reflected in scripts/ci-local.sh / yarn run ci:local.
# Source of truth: docs/norms/ci-parity.md
run: |
npm install yarn@^1 --no-package-lock -g
yarn --frozen-lockfile --production=false
- name: Lint
run: yarn run lint
- name: Format
run: yarn run prettier --list-different .
- name: Typecheck
run: yarn run typecheck
build-gate:
runs-on: ubuntu-latest
timeout-minutes: 20
needs: quality-gate
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install
run: |
npm install yarn@^1 --no-package-lock -g
yarn --frozen-lockfile --production=false
- name: Build
run: yarn run build
test-gate:
runs-on: ubuntu-latest
timeout-minutes: 25
needs: build-gate
env:
# @shelf/jest-mongodb's bundled mongodb-memory-server version in this repo
# does not support MONGOMS_DISTRO; pin a known-valid download URL instead.
MONGOMS_DOWNLOAD_URL: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-6.0.14.tgz
TZ: UTC
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install
run: |
npm install yarn@^1 --no-package-lock -g
yarn --frozen-lockfile --production=false
- name: Test Netlify functions and frontend
# Browser smoke/e2e coverage is intentionally excluded from the
# required PR gate for this phase.
run: |
yarn test:backend
yarn test:frontend
test-netlify-functions:
runs-on: ubuntu-latest
needs: [quality-gate, build-gate, test-gate]
if: ${{ always() }}
steps:
- name: Fail if any required gate job failed
run: |
if [ "${{ needs.quality-gate.result }}" != "success" ] || \
[ "${{ needs.build-gate.result }}" != "success" ] || \
[ "${{ needs.test-gate.result }}" != "success" ]; then
echo "One or more required gate jobs failed"
exit 1
fi
- name: Preserve legacy required check context
run: echo "All staged gate jobs passed"