Skip to content

refactor to replace docker version of yaci-cli with npm version of yaci-cli #714

Description

@matiwinnetou

Refactor: Replace Docker-based integration tests with yaci-devkit (npm)

Summary

Currently the integration tests in cardano-rosetta-java rely on a Docker-based setup to run a local Cardano devnet.
This setup should be refactored to use the npm distribution of yaci-cli / yaci-devkit instead.

Example reference implementation:
https://github.com/bloxbean/devkit-npm-ci-test

Motivation

The current Docker-based approach introduces unnecessary complexity and overhead for running integration tests.

Using the npm-based yaci-devkit provides several advantages:

  • Simpler setup — no Docker dependency required
  • Faster startup time
  • More lightweight CI execution
  • Easier local developer experience
  • Better alignment with other projects already using npm-based devnet tooling

Proposed Changes

  • Remove Docker-based devnet setup used in integration tests
  • Use yaci-cli / yaci-devkit via npm to start and manage the devnet
  • Update CI workflow to install and run yaci-devkit
  • Update documentation for running integration tests locally

Reference

Example project demonstrating npm-based CI setup:

https://github.com/bloxbean/devkit-npm-ci-test

Expected Outcome

Integration tests should:

  • Start a local Cardano devnet using yaci-devkit
  • Run Rosetta integration tests against the devnet
  • Shut down the devnet automatically after tests complete

The new setup should be simpler, faster, and easier to maintain than the current Docker-based approach.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions