Skip to content

ci: auth-react

ci: auth-react #5

name: Auth-React Tests - L1
on:
pull_request:
types:
- opened
- reopened
- synchronize
push:
branches:
- master
- "v[0-9]+.[0-9]+"
tags:
- "(dev-)?v[0-9]+.[0-9]+.[0-9]+"
jobs:
define-versions:
runs-on: ubuntu-latest
outputs:
fdiVersions: ${{ steps.versions.outputs.fdiVersions }}
cdiVersions: ${{ steps.versions.outputs.cdiVersions }}
pyVersions: '["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]'
steps:
- uses: actions/checkout@v4
- uses: supertokens/get-supported-versions-action@main
id: versions
with:
has-fdi: true
has-cdi: true
setup-matrix:
runs-on: ubuntu-latest
steps:
- id: setup-matrix
uses: druzsan/setup-matrix@v1
with:
matrix: |
os: ubuntu-latest windows-latest macos-latest
python-version: 3.8 3.9 3.10
arch: arm64 amd64
- uses: cloudposse/github-action-matrix-extended@main
id: extend
with:
matrix: ${{ steps.setup-matrix.outputs.matrix }}
sort-by: '[.python-version, .os, .arch] | join("-")'
group-by: '.arch'
nested-matrices-count: '1'
- run: |
echo '${{ steps.extend.outputs.matrix }}'
setup-auth-react:
runs-on: ubuntu-latest
needs: define-versions
strategy:
fail-fast: true
matrix:
# fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
fdi-version: ['4.0']
outputs:
AUTH_REACT__LOG_DIR: ${{ steps.envs.outputs.AUTH_REACT__LOG_DIR }}
AUTH_REACT__SCREENSHOT_DIR: ${{ steps.envs.outputs.AUTH_REACT__SCREENSHOT_DIR }}
AUTH_REACT__APP_SERVER: ${{ steps.envs.outputs.AUTH_REACT__APP_SERVER }}
AUTH_REACT__NODE_PORT: ${{ steps.envs.outputs.AUTH_REACT__NODE_PORT }}
AUTH_REACT__TEST_MODE: ${{ steps.envs.outputs.AUTH_REACT__TEST_MODE }}
AUTH_REACT__PORT: ${{ steps.envs.outputs.AUTH_REACT__PORT }}
specs: ${{ steps.envs.outputs.specs }}
matrix: ${{ steps.setup-matrix.outputs.matrix }}
steps:
- uses: supertokens/get-versions-action@main
id: versions
with:
driver-name: python
fdi-version: ${{ matrix.fdi-version }}
env:
SUPERTOKENS_API_KEY: ${{ secrets.SUPERTOKENS_API_KEY }}
- uses: supertokens/auth-react-testing-action/setup@main
id: envs
with:
# auth-react-version: ${{ steps.versions.outputs.authReactTag }}
auth-react-version: ci/github-actions/auth-react/v0.48.0
node-sdk-version: ${{ steps.versions.outputs.nodeTag }}
fdi-version: ${{ matrix.fdi-version }}
- run: |
echo "${{ steps.envs.outputs.specs }}"
echo "${{ fromJson(steps.envs.outputs.specs) }}"
echo "${{ needs.define-versions.outputs.pyVersions }}"
- id: setup-matrix
uses: druzsan/setup-matrix@v2
with:
# fdi-version: ${{ needs.define-versions.outputs.fdiVersions }}
matrix: |
fdi-version: ["4.0"]
py-version: ${{ needs.define-versions.outputs.pyVersions }}
framework: ["django", "fastapi", "flask"]
spec: ${{ steps.envs.outputs.specs }}
- uses: cloudposse/github-action-matrix-extended@main
id: extend
with:
matrix: ${{ steps.setup-matrix.outputs.matrix }}
sort-by: '[.fdi-version, .py-version, .framework, .spec] | join("-")'
group-by: '.spec'
nested-matrices-count: '2'
launch-tests:
if: ${{ needs.setup-auth-react.outputs.matrix != '{"include":[]}' }}
uses: ./.github/workflows/auth-react-test-2.yml
needs:
- setup-auth-react
strategy:
max-parallel: 1 # This is important to avoid ddos GHA API
fail-fast: false # Don't fail fast to avoid locking TF State
matrix: ${{ fromJson(needs.setup-auth-react.outputs.matrix) }}
name: Group (${{ matrix.name }})
with:
items: ${{ matrix.items }}
AUTH_REACT__LOG_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__LOG_DIR }}
AUTH_REACT__SCREENSHOT_DIR: ${{ needs.setup-auth-react.outputs.AUTH_REACT__SCREENSHOT_DIR }}
AUTH_REACT__APP_SERVER: ${{ needs.setup-auth-react.outputs.AUTH_REACT__APP_SERVER }}
AUTH_REACT__NODE_PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__NODE_PORT }}
AUTH_REACT__TEST_MODE: ${{ needs.setup-auth-react.outputs.AUTH_REACT__TEST_MODE }}
AUTH_REACT__PORT: ${{ needs.setup-auth-react.outputs.AUTH_REACT__PORT }}