Skip to content

Commit 47e113a

Browse files
authored
Merge branch 'develop' into dependabot/npm_and_yarn/examples/nextjs/multi-516376c24b
2 parents 8652e2d + 0493195 commit 47e113a

293 files changed

Lines changed: 7712 additions & 2894 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy-playgrounds.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ jobs:
2020

2121
- name: Set up Node.js
2222
uses: actions/setup-node@v4
23+
with:
24+
node-version: 24
2325

2426
- name: Cache node modules
2527
id: cache-npm
@@ -41,7 +43,7 @@ jobs:
4143
run: |
4244
npm i
4345
npm install lerna
44-
npm install vercel@33.2.0
46+
npm install vercel@50.26.1
4547
npm list
4648
4749
- name: Check ESLint Errors
@@ -63,7 +65,7 @@ jobs:
6365
- name: Deploy react playground to Vercel
6466
run: |
6567
npx vercel link --yes --project react-playground --scope corbado -t $VERCEL_TOKEN
66-
npx vercel pull -t $VERCEL_TOKEN
68+
npx vercel pull --environment=preview -t $VERCEL_TOKEN
6769
npx vercel build -t $VERCEL_TOKEN
6870
url="$(npx vercel deploy --prebuilt -t ${{ secrets.VERCEL_TOKEN }})"
6971
npx vercel alias -S corbado -t ${{ secrets.VERCEL_TOKEN }} "$url" $BRANCH_NAME.react.playground.corbado.io

.github/workflows/test-all.yml

Lines changed: 73 additions & 196 deletions
Large diffs are not rendered by default.

.github/workflows/test.yml

Lines changed: 44 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
name: Test on React
2-
env:
3-
BRANCH_NAME_RAW: ${{ github.head_ref || github.ref_name }}
42

53
on:
64
pull_request:
@@ -12,6 +10,7 @@ jobs:
1210
test:
1311
timeout-minutes: 60
1412
runs-on: ubuntu-24.04
13+
environment: ${{ matrix.testType }}
1514
strategy:
1615
fail-fast: false
1716
matrix:
@@ -20,44 +19,42 @@ jobs:
2019
configFile: playwright.config.complete.ts
2120
- testType: connect
2221
configFile: playwright.config.connect.ts
23-
env:
24-
PLAYWRIGHT_NUM_CORES: 4
25-
PLAYWRIGHT_TEST_URL: ${{ secrets.PLAYWRIGHT_TEST_URL }}
2622

27-
PLAYWRIGHT_JWT_TOKEN: ${{ secrets.PLAYWRIGHT_JWT_TOKEN }}
28-
PLAYWRIGHT_GOOGLE_EMAIL: ${{ secrets.PLAYWRIGHT_GOOGLE_EMAIL }}
29-
PLAYWRIGHT_GOOGLE_PASSWORD: ${{ secrets.PLAYWRIGHT_GOOGLE_PASSWORD }}
23+
env:
24+
# ── Shared (hardcoded) ──
25+
PLAYWRIGHT_NUM_CORES: 4
26+
DEFAULT_CORBADO_BACKEND_API_BASIC_AUTH: ${{ secrets.DEFAULT_CORBADO_BACKEND_API_BASIC_AUTH }}
27+
28+
# ── "complete" environment secrets (empty on connect runners) ──
29+
PLAYWRIGHT_JWT_TOKEN: ${{ secrets.PLAYWRIGHT_JWT_TOKEN }}
30+
PLAYWRIGHT_GOOGLE_EMAIL: ${{ secrets.PLAYWRIGHT_GOOGLE_EMAIL }}
31+
PLAYWRIGHT_GOOGLE_PASSWORD: ${{ secrets.PLAYWRIGHT_GOOGLE_PASSWORD }}
3032
PLAYWRIGHT_GOOGLE_TOTP_SECRET: ${{ secrets.PLAYWRIGHT_GOOGLE_TOTP_SECRET }}
3133

32-
NEXT_PUBLIC_CORBADO_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_CORBADO_PROJECT_ID }}
33-
NEXT_PUBLIC_CORBADO_FRONTEND_API_URL_SUFFIX: ${{ secrets.NEXT_PUBLIC_CORBADO_FRONTEND_API_URL_SUFFIX }}
34-
CORBADO_BACKEND_API_URL: ${{ secrets.CORBADO_BACKEND_API_URL }}
35-
CORBADO_BACKEND_API_BASIC_AUTH: ${{ secrets.CORBADO_BACKEND_API_BASIC_AUTH }}
36-
PLAYWRIGHT_CONNECT_PROJECT_ID: ${{ secrets.PLAYWRIGHT_CONNECT_PROJECT_ID }}
37-
PLAYWRIGHT_NGROK_AUTH_TOKEN: ${{ secrets.PLAYWRIGHT_NGROK_AUTH_TOKEN }}
38-
AWS_COGNITO_USER_POOL_ID: ${{ secrets.AWS_COGNITO_USER_POOL_ID }}
39-
NEXT_PUBLIC_AWS_COGNITO_USER_POOL_ID: ${{ secrets.AWS_COGNITO_USER_POOL_ID }}
40-
AWS_COGNITO_CLIENT_ID: ${{ secrets.AWS_COGNITO_CLIENT_ID }}
41-
NEXT_PUBLIC_AWS_COGNITO_CLIENT_ID: ${{ vars.NEXT_PUBLIC_AWS_COGNITO_CLIENT_ID }}
42-
AWS_COGNITO_CLIENT_SECRET: ${{ secrets.AWS_COGNITO_CLIENT_SECRET }}
43-
AWS_REGION: ${{ secrets.AWS_REGION }}
44-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_CONNECT_PLAYGROUND }}
45-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_CONNECT_PLAYGROUND }}
46-
47-
GITHUB_RUN_ID: ${{ github.run_id }}
48-
SLACK_BOT_USER_OAUTH_TOKEN: ${{ secrets.SLACK_BOT_USER_OAUTH_TOKEN }}
49-
GITHUB_BRANCH_NAME: ${{ github.ref_name }}
34+
# ── "connect" environment secrets (empty on complete runners) ──
35+
NEXT_PUBLIC_AWS_COGNITO_USER_POOL_ID: ${{ secrets.AWS_COGNITO_USER_POOL_ID }}
36+
NEXT_PUBLIC_AWS_COGNITO_CLIENT_ID: ${{ vars.NEXT_PUBLIC_AWS_COGNITO_CLIENT_ID }}
37+
CORBADO_BACKEND_API_BASIC_AUTH: ${{ secrets.DEFAULT_CORBADO_BACKEND_API_BASIC_AUTH }}
38+
PLAYWRIGHT_NGROK_AUTH_TOKEN: ${{ secrets.PLAYWRIGHT_NGROK_AUTH_TOKEN }}
39+
AWS_COGNITO_USER_POOL_ID: ${{ secrets.AWS_COGNITO_USER_POOL_ID }}
40+
AWS_COGNITO_CLIENT_ID: ${{ secrets.AWS_COGNITO_CLIENT_ID }}
41+
AWS_COGNITO_CLIENT_SECRET: ${{ secrets.AWS_COGNITO_CLIENT_SECRET }}
42+
AWS_REGION: ${{ secrets.AWS_REGION }}
43+
AWS_ACCESS_KEY_ID: ${{ secrets.COGNITO_AWS_ACCESS_KEY_ID }}
44+
AWS_SECRET_ACCESS_KEY: ${{ secrets.COGNITO_AWS_SECRET_ACCESS_KEY }}
5045

5146
steps:
5247
- name: Checkout code
5348
uses: actions/checkout@v4
5449

5550
- name: Set up Node.js
5651
uses: actions/setup-node@v4
52+
with:
53+
node-version: 24
5754

5855
- name: Cache node modules
5956
id: cache-npm
60-
uses: actions/cache@v3
57+
uses: actions/cache@v4
6158
env:
6259
cache-name: cache-node-modules
6360
with:
@@ -75,7 +72,6 @@ jobs:
7572
run: |
7673
npm i
7774
npm install lerna
78-
npm install vercel@33.2.0
7975
npm list
8076
8177
- name: Build SDKs
@@ -85,23 +81,22 @@ jobs:
8581
8682
- name: Get installed Playwright version
8783
id: playwright-version
88-
run: echo "::set-output name=version::$(yarn why --json @playwright/test | grep -h 'workspace:.' | jq --raw-output '.children[].locator' | sed -e 's/@playwright\/test@.*://')"
84+
run: echo "version=$(yarn why --json @playwright/test | grep -h 'workspace:.' | jq --raw-output '.children[].locator' | sed -e 's/@playwright\/test@.*://')" >> "$GITHUB_OUTPUT"
8985

9086
- if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }}
9187
name: List the state of node modules
9288
continue-on-error: true
93-
run: |
94-
cd packages/tests-e2e
95-
npm list
89+
working-directory: packages/tests-e2e
90+
run: npm list
9691

9792
- name: Install dependencies
93+
working-directory: packages/tests-e2e
9894
run: |
99-
cd packages/tests-e2e
10095
npm install
10196
sudo apt-get update
10297
sudo apt-get install -y libxml2-utils
10398
104-
- uses: actions/cache@v3
99+
- uses: actions/cache@v4
105100
id: playwright-cache
106101
with:
107102
path: '~/.cache/ms-playwright'
@@ -111,26 +106,24 @@ jobs:
111106
112107
- name: Install Playwright's dependencies
113108
if: steps.playwright-cache.outputs.cache-hit != 'true'
114-
run: |
115-
cd packages/tests-e2e
116-
npx playwright install --with-deps
109+
working-directory: packages/tests-e2e
110+
run: npx playwright install --with-deps
117111

118-
- name: Create a log stream on AWS CloudWatch
112+
- name: Create CloudWatch log stream
119113
env:
120-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
121-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
114+
AWS_ACCESS_KEY_ID: ${{ vars.CLOUDWATCH_AWS_ACCESS_KEY_ID }}
115+
AWS_SECRET_ACCESS_KEY: ${{ secrets.CLOUDWATCH_AWS_SECRET_ACCESS_KEY }}
122116
AWS_REGION: ${{ secrets.AWS_REGION }}
123117
run: |
124118
TIMESTAMP=$(date +%s000)
125-
RANDOM_SUFFIX=$(head /dev/urandom | tr -dc a-z0-9 | head -c 6)
119+
RANDOM_SUFFIX=$(head /dev/urandom | tr -dc 'a-z0-9' | head -c 6)
126120
LOG_STREAM_NAME="javascript-${TIMESTAMP}-${RANDOM_SUFFIX}"
127-
echo "LOG_STREAM_NAME=$LOG_STREAM_NAME" >> $GITHUB_ENV
121+
echo "LOG_STREAM_NAME=$LOG_STREAM_NAME" >> "$GITHUB_ENV"
128122
aws logs create-log-stream --log-group-name "test-results-board" --log-stream-name "$LOG_STREAM_NAME"
129123
130124
- name: Run ${{ matrix.testType }} tests for react
131125
working-directory: packages/tests-e2e
132-
run: |
133-
npx playwright test --config=${{ matrix.configFile }}
126+
run: npx playwright test --config=${{ matrix.configFile }}
134127

135128
- uses: actions/upload-artifact@v4
136129
if: always()
@@ -139,21 +132,14 @@ jobs:
139132
path: packages/tests-e2e/playwright-report/
140133
retention-days: 30
141134

142-
- name: Send logs to AWS CloudWatch
135+
- name: Send results to CloudWatch
143136
if: always()
144137
env:
145-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
146-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
138+
AWS_ACCESS_KEY_ID: ${{ vars.CLOUDWATCH_AWS_ACCESS_KEY_ID }}
139+
AWS_SECRET_ACCESS_KEY: ${{ secrets.CLOUDWATCH_AWS_SECRET_ACCESS_KEY }}
147140
AWS_REGION: ${{ secrets.AWS_REGION }}
148141
run: |
149-
cd packages/tests-e2e
150-
TESTS=$(xmllint --xpath 'string(/testsuites/@tests)' test-results/results.xml)
151-
FAILURES=$(xmllint --xpath 'string(/testsuites/@failures)' test-results/results.xml)
152-
SKIPPED=$(xmllint --xpath 'string(/testsuites/@skipped)' test-results/results.xml)
153-
ERRORS=$(xmllint --xpath 'string(/testsuites/@errors)' test-results/results.xml)
154-
TIME=$(xmllint --xpath 'string(/testsuites/@time)' test-results/results.xml)
155-
PASSED=$((TESTS - FAILURES - ERRORS - SKIPPED))
156-
FAILED=$((FAILURES + ERRORS))
157-
TIMESTAMP=$(date +%s000)
158-
LOG_EVENT_JSON="[{\"timestamp\":$TIMESTAMP,\"message\":\"{\\\"application\\\":\\\"${{ matrix.testType }}\\\",\\\"platform\\\":\\\"react\\\",\\\"run_type\\\":\\\"commitly\\\",\\\"execution_time\\\":$TIME,\\\"passed\\\":$PASSED,\\\"failed\\\":$FAILED,\\\"link\\\":\\\"https://github.com/corbado/javascript/actions/runs/${GITHUB_RUN_ID}\\\"}\"}]"
159-
aws logs put-log-events --log-group-name "test-results-board" --log-stream-name "$LOG_STREAM_NAME" --log-events "$LOG_EVENT_JSON"
142+
bash scripts/cloudwatch-log.sh \
143+
"${{ matrix.testType }}" \
144+
"react" \
145+
"commitly"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ packages/tests-e2e/.env.connect.local
3030

3131
# scripts
3232
scripts/*.sh
33+
!scripts/cloudwatch-log.sh

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ dist
66
.yalc
77
.github
88
.vercel
9+
.next
910

1011
docs
1112

0 commit comments

Comments
 (0)