This repository was archived by the owner on Mar 6, 2026. It is now read-only.
File tree Expand file tree Collapse file tree 9 files changed +143
-0
lines changed
Expand file tree Collapse file tree 9 files changed +143
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Run or8n Tests
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ pull_request :
8+ branches :
9+ - main
10+ workflow_dispatch :
11+
12+ jobs :
13+ e2e_tests :
14+ runs-on : ubuntu-latest
15+ strategy :
16+ matrix :
17+ shard : [1, 2, 3]
18+
19+ steps :
20+ - name : Checkout repository
21+ uses : actions/checkout@v3
22+
23+ - name : Install Dependencies
24+ run : npm install
25+
26+ - name : Reset NX
27+ run : npx nx reset
28+
29+ - name : Run All E2E Tests
30+ env :
31+ CURRENTS_API_URL : https://cy-staging.currents.dev
32+ CURRENTS_PROJECT_ID : ${{secrets.CURRENTS_PROJECT_ID}}
33+ CURRENTS_RECORD_KEY : ${{secrets.CURRENTS_RECORD_KEY}}
34+ CURRENTS_CI_BUILD_ID : ${{ github.run_id }}-${{ github.sha }}
35+ run : npx nx run-many -t or8n --verbose --base=main~1 --head=HEAD
Original file line number Diff line number Diff line change @@ -92,3 +92,25 @@ nx run-many -t e2e --parallel=2 --verbose --last-failed
9292
9393 - nx run e2e-01:e2e
9494```
95+
96+ ## Single project orchestration
97+
98+ The project named ` e2e-03 ` has a different target than the other two projects. The target is ` or8n `
99+ This target project executes ` pwc-p ` command. When using it in multiple machines it will execute in parallel the tests of this project.
100+
101+ ``` sh
102+ CURRENTS_RECORD_KEY=recordkey \
103+ CURRENTS_PROJECT_ID=projectid \
104+ CURRENTS_CI_BUILD_ID=` date +%s` \
105+ nx run-many -t or8n
106+
107+ # ...
108+
109+ NX Running target or8n for 1 project
110+
111+ ⠙ nx run e2e-03:or8n
112+ ```
113+
114+ The ` parallel ` flag is no longer needed as it is running a single nx project.
115+
116+ The ` or8n.yml ` file has an example for running it in Github actions.
Original file line number Diff line number Diff line change 1+ const playwright = require ( 'eslint-plugin-playwright' ) ;
2+ const baseConfig = require ( '../../eslint.config.js' ) ;
3+
4+ module . exports = [
5+ playwright . configs [ 'flat/recommended' ] ,
6+
7+ ...baseConfig ,
8+ {
9+ files : [ '**/*.ts' , '**/*.js' ] ,
10+ // Override or add rules here
11+ rules : { } ,
12+ } ,
13+ ] ;
Original file line number Diff line number Diff line change 1+ import { nxE2EPreset } from '@nx/playwright/preset' ;
2+ import { defineConfig , devices } from '@playwright/test' ;
3+ // eslint-disable-next-line @nx/enforce-module-boundaries
4+ import { reporter } from '../../playwright.config' ;
5+
6+ const nxConf = nxE2EPreset ( __filename ) ;
7+ export default defineConfig ( {
8+ ...nxConf ,
9+ reporter,
10+ testDir : './src' ,
11+ use : {
12+ trace : 'on-first-retry' ,
13+ } ,
14+ projects : [
15+ {
16+ name : 'chromium' ,
17+ use : { ...devices [ 'Desktop Chrome' ] } ,
18+ } ,
19+ ] ,
20+ } ) ;
Original file line number Diff line number Diff line change 1+ {
2+ "$schema" : " ../../node_modules/nx/schemas/project-schema.json" ,
3+ "name" : " e2e-03" ,
4+ "projectType" : " application" ,
5+ "sourceRoot" : " apps/e2e-03/src" ,
6+ "targets" : {
7+ "or8n" : {
8+ "executor" : " nx:run-commands" ,
9+ "options" : {
10+ "config" : " apps/e2e-03/playwright.config.ts" ,
11+ "commands" : [
12+ {
13+ "command" : " npx pwc-p"
14+ }
15+ ]
16+ }
17+ }
18+ }
19+ }
Original file line number Diff line number Diff line change 1+ import { expect , test } from '@playwright/test' ;
2+
3+ test ( 'e2e-03-1' , async ( ) => {
4+ expect ( 1 ) . toBe ( 1 ) ;
5+ } ) ;
Original file line number Diff line number Diff line change 1+ import { expect , test } from '@playwright/test' ;
2+
3+ test ( 'e2e-03-2' , async ( ) => {
4+ expect ( 1 ) . toBe ( 1 ) ;
5+ } ) ;
Original file line number Diff line number Diff line change 1+ import { expect , test } from '@playwright/test' ;
2+
3+ test ( 'e2e-03' , async ( ) => {
4+ expect ( 1 ) . toBe ( 1 ) ;
5+ } ) ;
Original file line number Diff line number Diff line change 1+ {
2+ "extends" : " ../../tsconfig.base.json" ,
3+ "compilerOptions" : {
4+ "allowJs" : true ,
5+ "outDir" : " ../../dist/out-tsc" ,
6+ "module" : " commonjs" ,
7+ "sourceMap" : false
8+ },
9+ "include" : [
10+ " **/*.ts" ,
11+ " **/*.js" ,
12+ " playwright.config.ts" ,
13+ " src/**/*.spec.ts" ,
14+ " src/**/*.spec.js" ,
15+ " src/**/*.test.ts" ,
16+ " src/**/*.test.js" ,
17+ " src/**/*.d.ts"
18+ ]
19+ }
You can’t perform that action at this time.
0 commit comments