Skip to content

fix: webauthn mfa integration #158

fix: webauthn mfa integration

fix: webauthn mfa integration #158

name: "Backend SDK Tests"
on:
pull_request:
types:
- opened
- reopened
- synchronize
push:
tags:
- dev-v[0-9]+.[0-9]+.[0-9]+
# Only one instance of this workflow will run on the same ref (PR/Branch/Tag)
# Previous runs will be cancelled.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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"]'
nodeVersions: '["20"]'
coreCdiVersionMap: ${{ steps.core-versions.outputs.cdiVersions }}
steps:
- uses: actions/checkout@v4
- uses: supertokens/get-supported-versions-action@main
id: versions
with:
has-fdi: true
has-cdi: true
- uses: supertokens/actions/get-versions-from-repo@main
id: core-versions
with:
repo: supertokens-core
github-token: ${{ secrets.GITHUB_TOKEN }}
cdi-versions: ${{steps.versions.outputs.cdiVersions }}
test:
runs-on: ubuntu-latest
needs: define-versions
strategy:
fail-fast: false
matrix:
cdi-version: ${{ fromJSON(needs.define-versions.outputs.cdiVersions) }}
fdi-version: ${{ fromJSON(needs.define-versions.outputs.fdiVersions) }}
py-version: ${{ fromJson(needs.define-versions.outputs.pyVersions) }}
node-version: ${{ fromJson(needs.define-versions.outputs.nodeVersions) }}
env:
API_PORT: 3030
SUPERTOKENS_CORE_PORT: 3567
SUPERTOKENS_CORE_HOST: localhost
steps:
- uses: actions/checkout@v4
with:
# Checking out to a custom path since the test repo will also be cloned
path: supertokens-python
- name: Get core version from current CDI version
id: core-version
run: |
coreVersion=$(echo '${{ needs.define-versions.outputs.coreCdiVersionMap }}' | jq -r '.["${{ matrix.cdi-version }}"]')
echo "coreVersion=${coreVersion}" >> $GITHUB_OUTPUT
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Create virtual environment and install dependencies
working-directory: supertokens-python
# Upgrade `pip` and `setuptools` to have the latest versions before further installs
run: |
python3 -m venv venv
source venv/bin/activate
python3 -m pip install pip setuptools --upgrade
make dev-install && rm -rf src
- name: Start core and server
working-directory: supertokens-python
env:
SUPERTOKENS_ENV: testing
SUPERTOKENS_CORE_VERSION: ${{ steps.core-version.outputs.coreVersion }}
run: |
source venv/bin/activate
docker compose up --build --wait
python3 tests/test-server/app.py &> python.log &
- uses: supertokens/backend-sdk-testing-action@main
with:
version: ${{ matrix.fdi-version }}
check-name-suffix: '[CDI=${{ matrix.cdi-version }}][Core=${{ steps.core-version.outputs.coreVersion }}][FDI=${{ matrix.fdi-version }}][Py=${{ matrix.py-version }}][Node=${{ matrix.node-version }}]'
path: backend-sdk-testing
app-server-logs: ${{ github.workspace }}/supertokens-python/python.log