Skip to content

Commit 6529f65

Browse files
authored
ci: auth-react (supertokens#575)
- Sets up workflow to run auth-react tests - Updates test-servers to work with updated tests - Removes `thirdpartypasswordless` feature flag
1 parent 70de715 commit 6529f65

File tree

12 files changed

+817
-268
lines changed

12 files changed

+817
-268
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Auth-React Tests - L1 - Django
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- reopened
8+
- synchronize
9+
push:
10+
branches:
11+
- master
12+
- "v[0-9]+.[0-9]+"
13+
tags:
14+
- "(dev-)?v[0-9]+.[0-9]+.[0-9]+"
15+
16+
jobs:
17+
define-versions:
18+
runs-on: ubuntu-latest
19+
outputs:
20+
fdiVersions: ${{ steps.versions.outputs.fdiVersions }}
21+
cdiVersions: ${{ steps.versions.outputs.cdiVersions }}
22+
pyVersions: '["3.8", "3.13"]'
23+
steps:
24+
- uses: actions/checkout@v4
25+
- uses: supertokens/get-supported-versions-action@main
26+
id: versions
27+
with:
28+
has-fdi: true
29+
has-cdi: true
30+
31+
setup-auth-react:
32+
runs-on: ubuntu-latest
33+
needs: define-versions
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
38+
39+
outputs:
40+
AUTH_REACT__LOG_DIR: ${{ steps.envs.outputs.AUTH_REACT__LOG_DIR }}
41+
AUTH_REACT__SCREENSHOT_DIR: ${{ steps.envs.outputs.AUTH_REACT__SCREENSHOT_DIR }}
42+
AUTH_REACT__APP_SERVER: ${{ steps.envs.outputs.AUTH_REACT__APP_SERVER }}
43+
AUTH_REACT__NODE_PORT: ${{ steps.envs.outputs.AUTH_REACT__NODE_PORT }}
44+
AUTH_REACT__TEST_MODE: ${{ steps.envs.outputs.AUTH_REACT__TEST_MODE }}
45+
AUTH_REACT__PORT: ${{ steps.envs.outputs.AUTH_REACT__PORT }}
46+
specs: ${{ steps.envs.outputs.specs }}
47+
matrix: ${{ steps.setup-matrix.outputs.matrix }}
48+
49+
steps:
50+
- uses: supertokens/get-versions-action@main
51+
id: versions
52+
with:
53+
driver-name: python
54+
fdi-version: ${{ matrix.fdi-version }}
55+
env:
56+
SUPERTOKENS_API_KEY: ${{ secrets.SUPERTOKENS_API_KEY }}
57+
58+
- uses: supertokens/auth-react-testing-action/setup@main
59+
id: envs
60+
with:
61+
auth-react-version: ${{ steps.versions.outputs.authReactVersionXy }}
62+
node-sdk-version: ${{ steps.versions.outputs.nodeTag }}
63+
fdi-version: ${{ matrix.fdi-version }}
64+
65+
- id: setup-matrix
66+
uses: supertokens/extended-matrix-action@main
67+
with:
68+
artifact-id: ${{ matrix.fdi-version }}
69+
matrix: |
70+
py-version: ${{ needs.define-versions.outputs.pyVersions }}
71+
framework: ["django"]
72+
spec: ${{ steps.envs.outputs.specs }}
73+
74+
launch-fdi-workflows:
75+
uses: ./.github/workflows/auth-react-test-2.yml
76+
needs:
77+
- define-versions
78+
- setup-auth-react
79+
strategy:
80+
max-parallel: 1 # This is important to avoid ddos GHA API
81+
fail-fast: false # Don't fail fast to avoid locking TF State
82+
matrix:
83+
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
84+
name: FDI ${{ matrix.fdi-version }}
85+
with:
86+
artifact-id: ${{ matrix.fdi-version }}
87+
AUTH_REACT__LOG_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__LOG_DIR }}
88+
AUTH_REACT__SCREENSHOT_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__SCREENSHOT_DIR }}
89+
AUTH_REACT__APP_SERVER: ${{ needs.setup-auth-react.outputs.AUTH_REACT__APP_SERVER }}
90+
AUTH_REACT__NODE_PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__NODE_PORT }}
91+
AUTH_REACT__TEST_MODE: ${{ needs.setup-auth-react.outputs.AUTH_REACT__TEST_MODE }}
92+
AUTH_REACT__PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__PORT }}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Auth-React Tests - L1 - Fastapi
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- reopened
8+
- synchronize
9+
push:
10+
branches:
11+
- master
12+
- "v[0-9]+.[0-9]+"
13+
tags:
14+
- "(dev-)?v[0-9]+.[0-9]+.[0-9]+"
15+
16+
jobs:
17+
define-versions:
18+
runs-on: ubuntu-latest
19+
outputs:
20+
fdiVersions: ${{ steps.versions.outputs.fdiVersions }}
21+
cdiVersions: ${{ steps.versions.outputs.cdiVersions }}
22+
pyVersions: '["3.8", "3.13"]'
23+
steps:
24+
- uses: actions/checkout@v4
25+
- uses: supertokens/get-supported-versions-action@main
26+
id: versions
27+
with:
28+
has-fdi: true
29+
has-cdi: true
30+
31+
setup-auth-react:
32+
runs-on: ubuntu-latest
33+
needs: define-versions
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
38+
39+
outputs:
40+
AUTH_REACT__LOG_DIR: ${{ steps.envs.outputs.AUTH_REACT__LOG_DIR }}
41+
AUTH_REACT__SCREENSHOT_DIR: ${{ steps.envs.outputs.AUTH_REACT__SCREENSHOT_DIR }}
42+
AUTH_REACT__APP_SERVER: ${{ steps.envs.outputs.AUTH_REACT__APP_SERVER }}
43+
AUTH_REACT__NODE_PORT: ${{ steps.envs.outputs.AUTH_REACT__NODE_PORT }}
44+
AUTH_REACT__TEST_MODE: ${{ steps.envs.outputs.AUTH_REACT__TEST_MODE }}
45+
AUTH_REACT__PORT: ${{ steps.envs.outputs.AUTH_REACT__PORT }}
46+
specs: ${{ steps.envs.outputs.specs }}
47+
matrix: ${{ steps.setup-matrix.outputs.matrix }}
48+
49+
steps:
50+
- uses: supertokens/get-versions-action@main
51+
id: versions
52+
with:
53+
driver-name: python
54+
fdi-version: ${{ matrix.fdi-version }}
55+
env:
56+
SUPERTOKENS_API_KEY: ${{ secrets.SUPERTOKENS_API_KEY }}
57+
58+
- uses: supertokens/auth-react-testing-action/setup@main
59+
id: envs
60+
with:
61+
auth-react-version: ${{ steps.versions.outputs.authReactVersionXy }}
62+
node-sdk-version: ${{ steps.versions.outputs.nodeTag }}
63+
fdi-version: ${{ matrix.fdi-version }}
64+
65+
- id: setup-matrix
66+
uses: supertokens/extended-matrix-action@main
67+
with:
68+
artifact-id: ${{ matrix.fdi-version }}
69+
matrix: |
70+
py-version: ${{ needs.define-versions.outputs.pyVersions }}
71+
framework: ["fastapi"]
72+
spec: ${{ steps.envs.outputs.specs }}
73+
74+
launch-fdi-workflows:
75+
uses: ./.github/workflows/auth-react-test-2.yml
76+
needs:
77+
- define-versions
78+
- setup-auth-react
79+
strategy:
80+
max-parallel: 1 # This is important to avoid ddos GHA API
81+
fail-fast: false # Don't fail fast to avoid locking TF State
82+
matrix:
83+
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
84+
name: FDI ${{ matrix.fdi-version }}
85+
with:
86+
artifact-id: ${{ matrix.fdi-version }}
87+
AUTH_REACT__LOG_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__LOG_DIR }}
88+
AUTH_REACT__SCREENSHOT_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__SCREENSHOT_DIR }}
89+
AUTH_REACT__APP_SERVER: ${{ needs.setup-auth-react.outputs.AUTH_REACT__APP_SERVER }}
90+
AUTH_REACT__NODE_PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__NODE_PORT }}
91+
AUTH_REACT__TEST_MODE: ${{ needs.setup-auth-react.outputs.AUTH_REACT__TEST_MODE }}
92+
AUTH_REACT__PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__PORT }}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Auth-React Tests - L1 - Flask
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- reopened
8+
- synchronize
9+
push:
10+
branches:
11+
- master
12+
- "v[0-9]+.[0-9]+"
13+
tags:
14+
- "(dev-)?v[0-9]+.[0-9]+.[0-9]+"
15+
16+
jobs:
17+
define-versions:
18+
runs-on: ubuntu-latest
19+
outputs:
20+
fdiVersions: ${{ steps.versions.outputs.fdiVersions }}
21+
cdiVersions: ${{ steps.versions.outputs.cdiVersions }}
22+
pyVersions: '["3.8", "3.13"]'
23+
steps:
24+
- uses: actions/checkout@v4
25+
- uses: supertokens/get-supported-versions-action@main
26+
id: versions
27+
with:
28+
has-fdi: true
29+
has-cdi: true
30+
31+
setup-auth-react:
32+
runs-on: ubuntu-latest
33+
needs: define-versions
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
38+
39+
outputs:
40+
AUTH_REACT__LOG_DIR: ${{ steps.envs.outputs.AUTH_REACT__LOG_DIR }}
41+
AUTH_REACT__SCREENSHOT_DIR: ${{ steps.envs.outputs.AUTH_REACT__SCREENSHOT_DIR }}
42+
AUTH_REACT__APP_SERVER: ${{ steps.envs.outputs.AUTH_REACT__APP_SERVER }}
43+
AUTH_REACT__NODE_PORT: ${{ steps.envs.outputs.AUTH_REACT__NODE_PORT }}
44+
AUTH_REACT__TEST_MODE: ${{ steps.envs.outputs.AUTH_REACT__TEST_MODE }}
45+
AUTH_REACT__PORT: ${{ steps.envs.outputs.AUTH_REACT__PORT }}
46+
specs: ${{ steps.envs.outputs.specs }}
47+
matrix: ${{ steps.setup-matrix.outputs.matrix }}
48+
49+
steps:
50+
- uses: supertokens/get-versions-action@main
51+
id: versions
52+
with:
53+
driver-name: python
54+
fdi-version: ${{ matrix.fdi-version }}
55+
env:
56+
SUPERTOKENS_API_KEY: ${{ secrets.SUPERTOKENS_API_KEY }}
57+
58+
- uses: supertokens/auth-react-testing-action/setup@main
59+
id: envs
60+
with:
61+
auth-react-version: ${{ steps.versions.outputs.authReactVersionXy }}
62+
node-sdk-version: ${{ steps.versions.outputs.nodeTag }}
63+
fdi-version: ${{ matrix.fdi-version }}
64+
65+
- id: setup-matrix
66+
uses: supertokens/extended-matrix-action@main
67+
with:
68+
artifact-id: ${{ matrix.fdi-version }}
69+
matrix: |
70+
py-version: ${{ needs.define-versions.outputs.pyVersions }}
71+
framework: ["flask"]
72+
spec: ${{ steps.envs.outputs.specs }}
73+
74+
launch-fdi-workflows:
75+
uses: ./.github/workflows/auth-react-test-2.yml
76+
needs:
77+
- define-versions
78+
- setup-auth-react
79+
strategy:
80+
max-parallel: 1 # This is important to avoid ddos GHA API
81+
fail-fast: false # Don't fail fast to avoid locking TF State
82+
matrix:
83+
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
84+
name: FDI ${{ matrix.fdi-version }}
85+
with:
86+
artifact-id: ${{ matrix.fdi-version }}
87+
AUTH_REACT__LOG_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__LOG_DIR }}
88+
AUTH_REACT__SCREENSHOT_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__SCREENSHOT_DIR }}
89+
AUTH_REACT__APP_SERVER: ${{ needs.setup-auth-react.outputs.AUTH_REACT__APP_SERVER }}
90+
AUTH_REACT__NODE_PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__NODE_PORT }}
91+
AUTH_REACT__TEST_MODE: ${{ needs.setup-auth-react.outputs.AUTH_REACT__TEST_MODE }}
92+
AUTH_REACT__PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__PORT }}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Auth-React Tests - L2
2+
on:
3+
workflow_call:
4+
inputs:
5+
artifact-id:
6+
description: "Matrix artifact ID"
7+
required: true
8+
type: string
9+
10+
AUTH_REACT__LOG_DIR:
11+
description: AUTH_REACT__LOG_DIR
12+
required: true
13+
type: string
14+
15+
AUTH_REACT__SCREENSHOT_DIR:
16+
description: AUTH_REACT__SCREENSHOT_DIR
17+
required: true
18+
type: string
19+
20+
AUTH_REACT__APP_SERVER:
21+
description: AUTH_REACT__APP_SERVER
22+
required: true
23+
type: string
24+
25+
AUTH_REACT__NODE_PORT:
26+
description: AUTH_REACT__NODE_PORT
27+
required: true
28+
type: string
29+
30+
AUTH_REACT__TEST_MODE:
31+
description: AUTH_REACT__TEST_MODE
32+
required: true
33+
type: string
34+
35+
AUTH_REACT__PORT:
36+
description: AUTH_REACT__PORT
37+
required: true
38+
type: string
39+
40+
41+
jobs:
42+
retrieve-matrix:
43+
runs-on: ubuntu-latest
44+
45+
outputs:
46+
matrix: ${{ steps.get-matrix.outputs.matrix }}
47+
48+
steps:
49+
- uses: actions/download-artifact@v4
50+
with:
51+
name: matrix-${{ inputs.artifact-id }}
52+
- id: get-matrix
53+
run: |
54+
matrix=$(<matrix-${{ inputs.artifact-id }}.json)
55+
echo "matrix=$matrix" | tee -a "$GITHUB_OUTPUT"
56+
57+
launch-test-workflows:
58+
needs:
59+
- retrieve-matrix
60+
61+
strategy:
62+
max-parallel: 1 # This is important to avoid ddos GHA API
63+
fail-fast: false # Don't fail fast to avoid locking TF State
64+
matrix: ${{ fromJson(needs.retrieve-matrix.outputs.matrix) }}
65+
66+
uses: ./.github/workflows/auth-react-test-3.yml
67+
name: Group ${{ matrix.name }}
68+
with:
69+
matrix: ${{ matrix.items }}
70+
fdi-version: ${{ inputs.artifact-id }}
71+
AUTH_REACT__LOG_DIR: ${{ inputs.AUTH_REACT__LOG_DIR }}
72+
AUTH_REACT__SCREENSHOT_DIR: ${{ inputs.AUTH_REACT__SCREENSHOT_DIR }}
73+
AUTH_REACT__APP_SERVER: ${{ inputs.AUTH_REACT__APP_SERVER }}
74+
AUTH_REACT__NODE_PORT: ${{ inputs.AUTH_REACT__NODE_PORT }}
75+
AUTH_REACT__TEST_MODE: ${{ inputs.AUTH_REACT__TEST_MODE }}
76+
AUTH_REACT__PORT: ${{ inputs.AUTH_REACT__PORT }}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy