Skip to content

chore(cli): keep @fern-api/docker-utils as plain Error, add CONTAINER_ERROR wrappers at call sites#14994

Merged
FedeZara merged 1 commit intomainfrom
FedeZara/refactor/cli-error-docker-utils
Apr 21, 2026
Merged

chore(cli): keep @fern-api/docker-utils as plain Error, add CONTAINER_ERROR wrappers at call sites#14994
FedeZara merged 1 commit intomainfrom
FedeZara/refactor/cli-error-docker-utils

Conversation

@FedeZara
Copy link
Copy Markdown
Contributor

@FedeZara FedeZara commented Apr 14, 2026

Description

Keeps @fern-api/docker-utils as a plain Error utility package and adds CONTAINER_ERROR wrappers at the call sites that invoke docker-utils functions.

This is one of the package migration PRs that follow the error classification system introduced in #14749.

Changes Made

Since docker-utils is a low-level utility that doesn't depend on @fern-api/task-context, the package itself is left unchanged. Instead, call sites in higher-level packages now wrap docker-utils errors with CliError.Code.ContainerError.

Error codes used

Code Usage
CONTAINER_ERROR Docker build/run/pull failures at call sites

Files touched (grouped by area)

  • Call site wrappers: Higher-level packages that invoke docker-utils functions now catch and re-throw with CONTAINER_ERROR code

Testing

  • Existing tests pass (pnpm test, excluding e2e and docker-utils tests which fail due to workspace path containing spaces — pre-existing environment issue)

Copy link
Copy Markdown
Contributor Author

@FedeZara FedeZara changed the title refactor(cli): rename FernCliError to TaskAbortSignal chore(cli): keep @fern-api/docker-utils as plain Error, add CONTAINER_ERROR wrappers at call sites Apr 14, 2026
@FedeZara FedeZara force-pushed the FedeZara/refactor/cli-error-docker-utils branch 2 times, most recently from 82353b8 to 00ddca9 Compare April 15, 2026 12:27
@FedeZara FedeZara force-pushed the FedeZara/refactor/cli-error-docker-utils branch from 00ddca9 to b0e4181 Compare April 17, 2026 10:24
@FedeZara FedeZara marked this pull request as ready for review April 17, 2026 10:25
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@github-actions
Copy link
Copy Markdown
Contributor

SDK Generation Benchmark Results

Comparing PR branch against latest nightly baseline on main (2026-04-17T04:58:39Z).

Full benchmark table (click to expand)
Generator Spec main (generator) main (E2E) PR (generator) Delta
csharp-sdk square 98s 141s 39s -59s (-60.2%)
go-sdk square 114s 148s 50s -64s (-56.1%)
java-sdk square 170s 187s 107s -63s (-37.1%)
php-sdk square 99s 127s 38s -61s (-61.6%)
python-sdk square 114s 152s 63s -51s (-44.7%)
ruby-sdk-v2 square 102s 156s 70s -32s (-31.4%)
rust-sdk square 98s 94s 46s -52s (-53.1%)
swift-sdk square 84s 130s 39s -45s (-53.6%)
ts-sdk square 100s 138s 49s -51s (-51.0%)

main (generator): generator-only time via --skip-scripts (includes Docker image build, container startup, IR parsing, and code generation — this is the same Docker-based flow customers use via fern generate). main (E2E): full customer-observable time including build/test scripts (nightly baseline, informational). Delta is computed against generator-only baseline.
⚠️ = generation exited with a non-zero exit code (timing may not reflect a successful run).
Baseline from nightly runs on main (latest: 2026-04-17T04:58:39Z). Trigger benchmark-baseline to refresh.
Last updated: 2026-04-17 10:42 UTC

@github-actions
Copy link
Copy Markdown
Contributor

Docs Generation Benchmark Results

Comparing PR branch against latest nightly baseline on main (2026-04-17T04:58:39Z).

Fixture main PR Delta
docs 289.7s 286.5s (35 versions) -3.2s (-1.1%)

Docs generation runs fern generate --docs --preview end-to-end against the benchmark fixture with 35 API versions (each version: markdown processing + OpenAPI-to-IR + FDR upload).
Delta is computed against the nightly baseline on main.
Baseline from nightly run(s) on main (latest: 2026-04-17T04:58:39Z). Trigger benchmark-baseline to refresh.
Last updated: 2026-04-17 10:44 UTC

@FedeZara FedeZara merged commit c0c2550 into main Apr 21, 2026
200 of 226 checks passed
@FedeZara FedeZara deleted the FedeZara/refactor/cli-error-docker-utils branch April 21, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants