Skip to content

ci: backend-sdk-testing #26

ci: backend-sdk-testing

ci: backend-sdk-testing #26

name: "Backend SDK Tests"
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
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:
# Checking out to a custom path since the test repo will also be cloned
path: supertokens-python
- 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-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
SUPERTOKENS_CORE_VERSION: ${{ steps.versions.outputs.coreVersionXy }}
run: |
source venv/bin/activate
docker compose up --build --wait
python3 tests/test-server/app.py &
- uses: supertokens/backend-sdk-testing-action@main
with:
# version: ${{ matrix.fdi-version }}
version: ci/github-actions/containerized-core/4.0
path: backend-sdk-testing
# - name: Setup backend-sdk-testing
# working-directory: backend-sdk-testing
# run: |
# npm install
# npm run build
# - name: Run tests
# working-directory: backend-sdk-testing
# run: |
# npm test
# env:
# SUPERTOKENS_CORE_TAG: ${{ steps.versions.outputs.coreTag }}
# TEST_MODE: testing
# NODE_PORT: 8081
# - name: Fix paths
# working-directory: backend-sdk-testing
# if: always()
# # Doing it in the shell since the Reporter's `transformers` don't seem to work
# run: sed -i "s|$GITHUB_WORKSPACE/backend-sdk-testing/test||g" test-results.xml
# - name: Reporter
# # Alternative: dorny/test-reporter@v1 - does not create a summary
# uses: mikepenz/action-junit-report@v5
# if: always()
# with:
# report_paths: backend-sdk-testing/test-results.xml
# check_name: Backend SDK Tests (${{matrix.cdi-version}}, ${{matrix.fdi-version}}, ${{matrix.node-version}})
# # Include table with all test results in the summary
# detailed_summary: true
# # Group the testcases by test suite in the detailed_summary
# group_suite: true
# # Fail if no test are found.
# require_tests: true
# # Fail the build in case of a test failure.
# fail_on_failure: true