ci: backend-sdk-testing #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |