Skip to content

Update Required Status Checks: Migrate from Legacy Tests to Solo-Based Compatibility Tests #615

@rwalworth

Description

@rwalworth

Summary

The TCK CI has been updated to utilize Hiero Solo and parallel testing for SDK compatibility tests. The GitHub repository's branch protection rules need to be updated to reflect these changes by removing the old legacy tests from the required status checks and adding the new Solo-based compatibility tests.

Background

All Hiero SDKs are being updated to use Solo for testing. The TCK now has new compatibility test workflows that:

  • Use Hiero Solo (hiero-solo-action) instead of the legacy @hashgraph/hedera-local
  • Run tests against the latest stable consensus node version
  • Support configurable SDK versions, Solo versions, and consensus node versions
  • Are called via the orchestrator workflow compatibility.yml

Current State

Legacy Tests (Old)

The following workflow runs individual test suites in a matrix using the old @hashgraph/hedera-local setup:

Workflow File Description
Run TCK Test Suites in Parallel test_regression.yml Matrix of 42 individual test suites using legacy hedera-local

New Compatibility Tests (Solo-Based)

The new workflows use Hiero Solo for a more production-like testing environment:

Workflow File Description
SDK Compatibility Testing compatibility.yml Orchestrator workflow
System Compatibility (JS SDK) js_compatibility.yml JS SDK tests with Solo
System Compatibility (Java SDK) java_compatibility.yml Java SDK tests with Solo
System Compatibility (GO SDK) go_compatibility.yml Go SDK tests with Solo
System Compatibility (CPP SDK) cpp_compatibility.yml CPP SDK tests with Solo

Requested Changes

Remove from Required Status Checks

  • All individual test suite jobs from test_regression.yml (e.g., AccountCreate, TokenCreate, TransferHbar, etc.)
  • Any other legacy test jobs that may be marked as required

Add as Required Status Checks

  • js-compatibility / System Compatibility (JS SDK) - Most up-to-date, passing
  • java-compatibility / System Compatibility (Java SDK) - Most up-to-date, passing

Keep as Required (PR Checks)

  • Title Check from pr_check.yml
  • Assignee Check from pr_check.yml

Action Items

  1. Navigate to Repository SettingsBranchesBranch protection rules → Edit rule for main
  2. Under "Require status checks to pass before merging":
    • Remove all individual test suite checks from test_regression.yml
    • Add js-compatibility / System Compatibility (JS SDK)
    • Add java-compatibility / System Compatibility (Java SDK)
  3. After Go SDK failing tests are fixed:
    • Add go-compatibility / System Compatibility (GO SDK)

Related

Notes

  • The legacy test_regression.yml workflow can potentially be removed entirely once the new compatibility tests are verified as stable
  • CPP SDK compatibility tests are available but may need verification before being marked as required

Metadata

Metadata

Assignees

No one assigned

    Labels

    github_actionsPull requests that update Github Actions code.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions