Skip to content

hyperledger-identus/integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Identus integration suite

This repository aggregates the result of end-to-end test between the new components and stable components.

πŸš€ New Feature: Manual Integration Testing

We now support manual integration testing that allows developers to trigger custom integration tests with specific component versions. This feature enables:

  • Custom Version Combinations: Test any combination of component versions
  • Compatibility Validation: Verify cross-component compatibility
  • Regression Testing: Ensure existing functionality works with new versions
  • Historical Tracking: Maintain a compatibility matrix over time

Quick Start

Via GitHub Actions (Recommended):

  1. Go to Actions β†’ Manual Integration Tests
  2. Click "Run workflow"
  3. Select components and enter versions
  4. Run the test

Via CLI:

# Auto-detected as "sdk" mode (1 SDK)
npm run manual -- --sdk-ts v1.0.0

# Auto-detected as "all" mode (3 SDKs)
npm run manual -- --sdk-ts v1.0.0 --sdk-swift v2.1.0 --sdk-kmp v0.5.0

End-to-end test matrix

Flow sdk-ts sdk-swift sdk-kmp
Backup and restorations βœ”οΈŽ βœ”οΈŽ ❌
Estabilish connection βœ”οΈŽ βœ”οΈŽ ❌
Receive issued JWT credential βœ”οΈŽ βœ”οΈŽ ❌
Receive issued SD-JWT credential βœ”οΈŽ βœ”οΈŽ ❌
Receive issued AnonCreds credential βœ”οΈŽ βœ”οΈŽ ❌
Provide JWT proof βœ”οΈŽ βœ”οΈŽ ❌
Provide SD-JWT proof βœ”οΈŽ βœ”οΈŽ ❌
Provide AnonCreds proof βœ”οΈŽ βœ”οΈŽ ❌
Receive JWT revocation notification βœ”οΈŽ βœ”οΈŽ ❌
Verify JWT proof βœ”οΈŽ βœ”οΈŽ ❌
Verify SD-JWT proof βœ”οΈŽ βœ”οΈŽ ❌
Verify AnonCreds proof βœ”οΈŽ βœ”οΈŽ ❌
Receive out-of-band JWT credential βœ”οΈŽ ❌
Provide out-of-band JWT proof βœ”οΈŽ ❌

Note: The Kotlin SDK (sdk-kmp) is currently broken and non-functional. Tests are skipped with clear warnings. See PLAN.md for details on the improvement roadmap.

Cloud-Agent API matrix

Method Endpoint Description Covered

Usage

npm ci
npx tsx cli --component {component} --runner {runner}

Environment Setup

Copy the example environment file and configure the required variables:

cp .env.example .env
# Edit .env with your configuration

Required Environment Variables:

  • GH_TOKEN: GitHub token with repository access

Optional Environment Variables:

  • SLACK_WEBHOOK: Slack webhook URL for notifications
  • DEBUG: Set to true for detailed command output

See .env.example for detailed configuration options.

Components

Identus components are:

Runners

The runners are the SDKs themselves, which runs the end-to-end tests in order to guarantee the platform compatibility.

  • sdk-ts
  • sdk-kmp
  • sdk-swift

Component testing matrix

The following table describes the artifact versioning and testing for the integration

component cloud-agent mediator sdk-ts sdk-kmp sdk-swift
cloud-agent main release release release release
mediator release main release release release
sdk-ts release release main - -
sdk-kmp release release - main -
sdk-swift release release - - main
  • main: latest changes
  • release: latest stable version

Cronjob testing

In order to test all latest components there's a weekly job.

environment cloud-agent mediator sdk-ts sdk-kmp sdk-swift
weekly main main main main main

Breaking change flow

When there's an expected breaking change the components will have to be compatible before making a final release. That means the latest test should be green.

Integration

Service integration

sequenceDiagram
    participant service
    participant ci
    participant runners
    service->>ci: version
    Note over ci: start services<br>using new service version
    ci->>runners: run sdk-ts
    ci->>runners: run sdk-kmp
    ci->>runners: run sdk-swift
    runners-->>ci: results
    ci-->>ci: notify slack
    ci-->>ci: update service report on gh pages
Loading

Library integration

sequenceDiagram
    participant library
    participant ci

    library->>ci: notify change
    Note over ci: start released service<br>build library
    ci->>library: run test
    library-->>ci: results
    ci-->>ci: notify slack
    ci-->>ci: update library report on gh pages
Loading

Automatic integration

This event is dispatched when there's a new commit on main branch.

{
    "component": "<component>",
    "version": "<version>"
}

Component should be of of the list and version for services should've been published or a tag/branch for libraries.

About

Integration results of Identus' components

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •