Skip to content

ci: backend-sdk-testing #1

ci: backend-sdk-testing

ci: backend-sdk-testing #1

Workflow file for this run

name: "Integration/E2E Test"
on:
pull_request:
types:
- synchronize
push:
tags:
- "(dev-)?v[0-9]+.[0-9]+.[0-9]+"
jobs:
define-versions:
runs-on: ubuntu-latest
outputs:
# fdiVersions: ${{ steps.versions.outputs.fdiVersions }}
fdiVersions: '["4.0"]'
# cdiVersions: ${{ steps.versions.outputs.cdiVersions }}
cdiVersions: '["5.2"]'
# pyVersions: '["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]'
pyVersions: '["3.8"]'
nodeVersions: '["20"]'
steps:
- uses: actions/checkout@v4
- uses: supertokens/get-supported-versions-action@main
id: versions
with:
has-fdi: true
has-cdi: true
backend-sdk-test:
name: Backend SDK Tests
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
ST_CONNECTION_URI: http://localhost:8081
steps:
- uses: actions/checkout@v4
with:
path: supertokens-python
- uses: actions/checkout@v4
with:
repository: supertokens/backend-sdk-testing
# ref: ${{ matrix.fdi-version }}
ref: ci/github-actions/containerized-core/4.0
path: backend-sdk-testing
- uses: supertokens/get-versions-action@main
id: versions
with:
driver-name: python
cdi-version: ${{ matrix.cdi-version }}
fdi-version: ${{ matrix.fdi-version }}
env:
SUPERTOKENS_API_KEY: ${{ secrets.SUPERTOKENS_API_KEY }}
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py-version }}
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Create virtual environment and install dependencies
working-directory: supertokens-python
run: |
python3 -m venv venv
source venv/bin/activate
make dev-install && rm -rf src
- name: Start core and server
working-directory: supertokens-python
env:
SUPERTOKENS_ENV: testing
run: |
source venv/bin/activate
docker compose up --build --wait
python3 tests/test-server/app.py &
- name: Setup backend-sdk-testing
working-directory: backend-sdk-testing
run: |
npm install
npm install mocha-junit-reporter --save-dev
# npm install mocha-reporter-gha --save-dev
npm run build
- name: Run tests
working-directory: backend-sdk-testing
run: |
npm test -- --reporter mocha-junit-reporter
# npm test -- --reporter-option output=test-results.json
# npm test -- --reporter mocha-reporter-gha
env:
SUPERTOKENS_CORE_TAG: ${{ steps.versions.outputs.coreTag }}
TEST_MODE: testing
NODE_PORT: 8081
- name: Reporter
uses: mikepenz/action-junit-report@v5
if: always()
# with:
# uses: dorny/test-reporter@v1
# with:
# reporter: mocha-json
# path: backend-sdk-testing/test-results.xml
# working-directory: backend-sdk-testing