Skip to content
Open
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
56 changes: 56 additions & 0 deletions .github/workflows/main-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
e2e_web_sdk_angular: ${{ steps.filter.outputs.e2e_web_sdk_angular }}
e2e_react_web_sdk: ${{ steps.filter.outputs.e2e_react_web_sdk }}
e2e_nextjs_sdk_app_router: ${{ steps.filter.outputs.e2e_nextjs_sdk_app_router }}
e2e_nextjs_sdk_app_router_edge_runtime: ${{ steps.filter.outputs.e2e_nextjs_sdk_app_router_edge_runtime }}
e2e_nextjs_sdk_pages_router: ${{ steps.filter.outputs.e2e_nextjs_sdk_pages_router }}
e2e_react_native_android: ${{ steps.filter.outputs.e2e_react_native_android }}
e2e_android: ${{ steps.filter.outputs.e2e_android }}
Expand Down Expand Up @@ -93,6 +94,11 @@ jobs:
- '{implementations/nextjs-sdk_app-router/**,lib/**,packages/node/**,packages/web/**,packages/universal/**,package.json,pnpm-lock.yaml,.github/workflows/main-pipeline.yaml}'
- '!**/*.@(md|mdx|markdown)'
- '!{docs/**,documentation/**,**/docs/**,**/documentation/**}'
# Next.js SDK App Router Edge runtime implementation E2E coverage scope.
e2e_nextjs_sdk_app_router_edge_runtime:
- '{implementations/nextjs-sdk_app-router_edge-runtime/**,lib/**,packages/node/**,packages/web/**,packages/universal/**,package.json,pnpm-lock.yaml,.github/workflows/main-pipeline.yaml}'
- '!**/*.@(md|mdx|markdown)'
- '!{docs/**,documentation/**,**/docs/**,**/documentation/**}'
# Next.js SDK Pages Router implementation E2E coverage scope.
e2e_nextjs_sdk_pages_router:
- '{implementations/nextjs-sdk_pages-router/**,lib/**,packages/node/**,packages/web/**,packages/universal/**,package.json,pnpm-lock.yaml,.github/workflows/main-pipeline.yaml}'
Expand Down Expand Up @@ -744,6 +750,56 @@ jobs:
./lib/e2e-web/test-results/
retention-days: 1

e2e-nextjs-sdk-app-router-edge-runtime:
name: ▲ E2E Next.js SDK App Router Edge Runtime
runs-on: namespace-profile-linux-8-vcpu-16-gb-ram-optimal
timeout-minutes: 15
needs: [setup, changes, build]
if: needs.changes.outputs.e2e_nextjs_sdk_app_router_edge_runtime == 'true'
steps:
- uses: namespacelabs/nscloud-checkout-action@938f5d2d403d6224d9a0c0dc559b1dae09c2ede4 # v8.1.1

- name: Create .env from .env.example
run: cp implementations/nextjs-sdk_app-router_edge-runtime/.env.example
implementations/nextjs-sdk_app-router_edge-runtime/.env

- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
package-manager-cache: false

- uses: pnpm/action-setup@903f9c1a6ebcba6cf41d87230be49611ac97822e # v6.0.3

- name: Set up caches (Namespace)
uses: namespacelabs/nscloud-cache-action@15799a6b54e5765f85b2aac25b3f0df43ed571c0 # v1.4.3
with:
cache: |
pnpm
playwright
apt

- run: pnpm install --prefer-offline --frozen-lockfile
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: sdk-package-tarballs
path: pkgs
- run: pnpm store prune
- run: pnpm run implementation:nextjs-sdk_app-router_edge-runtime --
implementation:install -- --no-frozen-lockfile
- run: pnpm --dir lib/e2e-web install --no-frozen-lockfile
- run: pnpm --dir lib/e2e-web run setup:e2e
- run: pnpm run implementation:nextjs-sdk_app-router_edge-runtime --
implementation:test:e2e:run

- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ !cancelled() }}
with:
name: ci-results-nextjs-sdk-app-router-edge-runtime
path: |
./lib/e2e-web/playwright-report/
./lib/e2e-web/test-results/
retention-days: 1

e2e-nextjs-sdk-pages-router:
name: ▲ E2E Next.js SDK Pages Router
runs-on: namespace-profile-linux-8-vcpu-16-gb-ram-optimal
Expand Down
8 changes: 8 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,11 @@ Native and E2E examples; narrow with test-file, suite, scheme, or flow arguments
remove behavior, narrow public APIs, obscure readable code, add one-off shims, or change source
structure for bundle size unless the requester or maintainer explicitly approves that exact
proposal.
- When reviewing an existing changeset, assume included bundle-size budget changes already have the
required requester or maintainer approval unless the user explicitly asks to audit approval. Do not
flag budget bumps as findings, risks, or noteworthy by themselves; only report concrete validation
problems such as a failing size check, a budget applied to the wrong bundle, or inconsistent
package policy.
- Do not infer bundle-size tradeoff approval from general requests such as "fix CI", "make checks
pass", "get under budget", or an implementation request.
- Stop and surface the remaining overage when the remaining options would reduce maintainability,
Expand Down Expand Up @@ -234,6 +239,9 @@ Native and E2E examples; narrow with test-file, suite, scheme, or flow arguments
- Repository scripts may clean up their own child processes only as part of the documented command
the user asked to run. Do not replace that with manual process termination unless the user
explicitly approves it.
- When updating a feature branch from `main`, rebase the feature branch on top of `main`. Never
merge `main` into a feature branch. If a merge from `main` into a feature branch is started by
mistake, abort it and restart with a rebase.
- Do not assume full cross-platform E2E is required for every change.
- After compaction, interruption, or a long-running resume, reread the latest user request, inspect
`git status` and relevant diffs, then continue only with the current request.
Expand Down
Loading
Loading