End-to-end tests #930
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: End-to-end tests | |
concurrency: | |
group: ${{ github.head_ref }}${{ github.ref }}-e2e | |
cancel-in-progress: true | |
on: | |
schedule: | |
- cron: "0 2 * * *" | |
workflow_dispatch: | |
inputs: | |
mediatorOobUrl: | |
required: true | |
description: Mediator out-of-band url | |
default: https://sit-prism-mediator.atalaprism.io/invitationOOB | |
agentUrl: | |
required: true | |
description: Agent url | |
default: https://sit-prism-agent-issuer.atalaprism.io/prism-agent | |
publishedDid: | |
required: false | |
description: Published DID | |
jwtSchemaGuid: | |
required: false | |
description: JWT schema GUID | |
default: | |
anoncredDefinitionGuid: | |
required: false | |
description: Anoncred definition GUID | |
apiKey: | |
required: false | |
description: Authorization key | |
push: | |
branches: | |
- main | |
- "release/**" | |
jobs: | |
run-e2e-tests: | |
name: "Run" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Mask apikey | |
env: | |
APIKEY: ${{ inputs.apiKey || secrets.APIKEY }} | |
run: echo "::add-mask::${{env.APIKEY}}" | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
fetch-depth: 0 | |
submodules: "true" | |
- name: Install Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Install wasm-pack | |
run: | | |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "lts/*" | |
- name: Pack sdk | |
run: | | |
npm install && npm i @rollup/rollup-linux-x64-gnu | |
npm run build | |
npm pack | |
echo "PACKAGE_NAME=$(find . -maxdepth 1 -name hyperledger-identus-edge-agent-sdk* | tr -d '\n')" >> "$GITHUB_ENV" | |
- name: Install local dependency | |
working-directory: integration-tests/e2e-tests | |
run: | | |
mv "../../${{ env.PACKAGE_NAME }}" "./${{ env.PACKAGE_NAME }}" | |
yarn | |
yarn add "./${{ env.PACKAGE_NAME }}" | |
- name: Install dependencies | |
working-directory: integration-tests/e2e-tests | |
run: yarn | |
- name: Run tests | |
env: | |
MEDIATOR_OOB_URL: ${{ inputs.mediatorOobUrl || vars.MEDIATOR_OOB_URL }} | |
AGENT_URL: ${{ inputs.agentUrl || vars.AGENT_URL }} | |
PUBLISHED_DID: ${{ inputs.publishedDid || vars.PUBLISHED_DID }} | |
JWT_SCHEMA_GUID: ${{ inputs.jwtSchemaGuid || vars.JWT_SCHEMA_GUID }} | |
ANONCRED_DEFINITION_GUID: ${{ inputs.anoncredDefinitionGuid || vars.ANONCRED_DEFINITION_GUID }} | |
APIKEY: ${{ inputs.apiKey || secrets.APIKEY }} | |
working-directory: integration-tests/e2e-tests | |
run: yarn test:sdk | |
- name: Add notes to summary | |
working-directory: integration-tests/e2e-tests | |
run: cat notes >> $GITHUB_STEP_SUMMARY | |
- name: Publish Serenity report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sdk-ts-e2e-results | |
path: integration-tests/e2e-tests/target/sdk-ts-e2e-results.html | |
if-no-files-found: error | |
- name: Dispatch integration notification | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
repository: input-output-hk/identus-integration | |
event-type: integration | |
client-payload: '{"component": "sdk-ts" }' |