Skip to content

Release @agglayer/sdk with the aggkit module and integrate the published version into dev-ui #1793

Description

@arnaubennassar

EDIT: we have currently an snapshot release that is already consumed by dev-ui, but we need to make releases CI automated, and release a stable version once merged to main (and import this version into the dev-ui)

Owners: agglayer/sdk (release) + agglayer/agglayer-dev-ui (dependency swap).

Context

The dev-ui's migration to the aggkit bridge service (agglayer/agglayer-dev-ui#24) consumes the new sdk aggkit module (client, multi-network aggregator, bridge tracker API) from agglayer/sdk#28 — but no published sdk version contains that module yet. The last published version is 1.0.0-beta.29.

To work against the unpublished code, the dev-ui branch declares the dependency normally in package.json ("@agglayer/sdk": "^1.0.0-beta.29") and redirects it to a local sibling checkout via a pnpm override in pnpm-workspace.yaml:

overrides:
  '@agglayer/sdk': 'file:../sdk'

This works for local development (a ../sdk checkout exists) but breaks pnpm install --frozen-lockfile on GitHub CI runners (ENOENT ... scandir '.../agglayer-dev-ui/../sdk'), which is why every CI job on agglayer/agglayer-dev-ui#24 currently fails at the install step (see also #1787 for what happens to the e2e check after install is fixed).

Work (in order)

  1. Merge feat(aggkit): aggkit bridge-service client + multi-network aggregator (incl. bridge tracker, rc5) sdk#28. Merging does not auto-publish — releases are manual.
  2. Cut an sdk release containing the aggkit module via the repo's release workflow (release.yml, workflow_dispatch) — e.g. 1.0.0-beta.30 (the version already staged in the branch's package.json) or whatever dist-tag/semver the release process decides.
  3. Swap dev-ui onto the published version: remove (or version-pin) the '@agglayer/sdk': 'file:../sdk' override in pnpm-workspace.yaml, bump the package.json range to the released version, and regenerate pnpm-lock.yaml.
  4. Verify: pnpm install --frozen-lockfile succeeds on CI; CI - lint / typecheck / test goes green on feat: migrate bridge backend from Bridge Hub API to aggkit bridge service (+ bridge tracker UI, rc5) agglayer-dev-ui#24. (e2e will remain red for the separate, pre-existing mode-gate gap tracked in dev-ui: e2e CI runs devnet-gated Playwright specs on runners with no devnet — decide CI strategy #1787 — that is expected and not a regression.)

Ordering constraint

This must land before or together with merging agglayer/agglayer-dev-ui#24 — merging the dev-ui PR while the file:../sdk override is in place would put a CI-unbuildable state on main.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions