Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
14 commits
Select commit Hold shift + click to select a range
1dce155
feat: Add end-to-end tests for various applications and tools
frontegg-david Dec 15, 2025
73bd19c
feat: Refactor input schema definitions to use Zod for validation and…
frontegg-david Dec 15, 2025
07559c2
refactor: Simplify input schema definitions and improve type inferenc…
frontegg-david Dec 15, 2025
aacdda6
feat: Refactor input schema definitions to use Zod for validation and…
frontegg-david Dec 15, 2025
1effee5
feat: Update end-to-end test configurations and paths for various app…
frontegg-david Dec 15, 2025
847fb12
feat: Add error handling tests and improve validation checks in end-t…
frontegg-david Dec 15, 2025
a886bd9
feat: Enhance end-to-end tests with additional error handling and val…
frontegg-david Dec 15, 2025
4b473ef
feat: Refactor end-to-end tests to improve structure and enhance erro…
frontegg-david Dec 16, 2025
847a573
feat: Update end-to-end tests and session key validation to support l…
frontegg-david Dec 16, 2025
a7380ef
feat: Update CI configuration and enhance E2E test execution with bat…
frontegg-david Dec 16, 2025
346b112
feat: Add --forceExit option to E2E test commands for improved stability
frontegg-david Dec 16, 2025
da28f9f
feat: Enhance E2E test configuration and improve connection handling …
frontegg-david Dec 16, 2025
3c3d64c
feat: Optimize E2E test execution by using nx run-many for batch proc…
frontegg-david Dec 16, 2025
63f4ec3
feat: Upgrade Node setup action to v6 and refactor mock server connec…
frontegg-david Dec 16, 2025
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
184 changes: 177 additions & 7 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,29 @@ name: On Push
on: push

concurrency:
group: codex-docs-${{ github.ref }}
cancel-in-progress: false
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
# Shared setup job that other jobs can reference
setup:
runs-on: ubuntu-latest
outputs:
node-version: ${{ steps.node-version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Get Node version
id: node-version
run: echo "version=$(cat .nvmrc)" >> $GITHUB_OUTPUT

# Lint and format checks (fast, independent)
lint:
needs: setup
runs-on: ubuntu-latest
env:
NX_DAEMON: "false"

steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -21,7 +35,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version-file: ".nvmrc"
node-version: ${{ needs.setup.outputs.node-version }}
cache: "yarn"

- name: Install dependencies
Expand All @@ -38,8 +52,164 @@ jobs:
run: npx prettier --check .
continue-on-error: true

# Build all libraries
build:
needs: setup
runs-on: ubuntu-latest
env:
NX_DAEMON: "false"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ needs.setup.outputs.node-version }}
cache: "yarn"

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Set Nx SHAs
uses: nrwl/nx-set-shas@v4

- name: Build libraries
run: npx nx affected -t build

- name: Test libraries
run: npx nx affected -t test --passWithNoTests
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: |
libs/*/dist
dist/
retention-days: 1

# Unit tests (depends on build)
unit-tests:
needs: [setup, build]
runs-on: ubuntu-latest
env:
NX_DAEMON: "false"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ needs.setup.outputs.node-version }}
cache: "yarn"

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: dist

- name: Set Nx SHAs
uses: nrwl/nx-set-shas@v4

- name: Run unit tests
run: npx nx affected -t test --passWithNoTests --exclude='demo-e2e-*'

# E2E tests - split into batches for parallelization
e2e-batch-1:
needs: [setup, build]
runs-on: ubuntu-latest
env:
NX_DAEMON: "false"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ needs.setup.outputs.node-version }}
cache: "yarn"

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: dist

- name: Set Nx SHAs
uses: nrwl/nx-set-shas@v4

- name: Run E2E tests (batch 1)
run: npx nx run-many -t test --projects=demo-e2e-public,demo-e2e-transparent,demo-e2e-openapi,demo-e2e-codecall

e2e-batch-2:
needs: [setup, build]
runs-on: ubuntu-latest
env:
NX_DAEMON: "false"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ needs.setup.outputs.node-version }}
cache: "yarn"

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: dist

- name: Set Nx SHAs
uses: nrwl/nx-set-shas@v4

- name: Run E2E tests (batch 2)
run: npx nx run-many -t test --projects=demo-e2e-redis,demo-e2e-providers,demo-e2e-cache,demo-e2e-ui

e2e-batch-3:
needs: [setup, build]
runs-on: ubuntu-latest
env:
NX_DAEMON: "false"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ needs.setup.outputs.node-version }}
cache: "yarn"

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: dist

- name: Set Nx SHAs
uses: nrwl/nx-set-shas@v4

- name: Run E2E tests (batch 3)
run: npx nx run-many -t test --projects=demo-e2e-hooks,demo-e2e-errors,demo-e2e-notifications,demo-e2e-serverless,demo-e2e-multiapp
2 changes: 1 addition & 1 deletion apps/demo/jest.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-disable */
export default {
module.exports = {
displayName: '@frontmcp/demo',
preset: '../../jest.preset.js',
testEnvironment: 'node',
Expand Down
Loading
Loading