Skip to content

Conversation

@tomusdrw
Copy link
Contributor

@tomusdrw tomusdrw commented Oct 2, 2025

borked merge left the previous workflow around and having two caused some races and issues.

@tomusdrw tomusdrw requested a review from mateuszsikora October 2, 2025 12:20
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 2, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated publish workflows to run all matrix jobs even if one fails, improving reliability and visibility of CI results.
    • Removed the deprecated library publishing pipeline to streamline CI/CD.
    • Aligned release publishing behavior with the new fail-fast configuration for consistent execution across jobs.

Walkthrough

Adjusts CI matrix behavior by setting fail-fast: false in two publish workflows and deletes the dedicated @typeberry/lib publish workflow.

Changes

Cohort / File(s) Summary of edits
Matrix fail-fast adjustments
.github/workflows/publish-npm.yml, .github/workflows/release-publish.yml
Set strategy.fail-fast: false to prevent early termination of remaining matrix jobs when one fails.
Remove lib publish workflow
.github/workflows/publish-typeberry-lib.yml
Deleted workflow that built and published @typeberry/lib to npm.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    actor Dev as Trigger
    participant GH as GitHub Actions
    participant WF as Publish Workflow
    participant M as Matrix Jobs

    Dev->>GH: push / dispatch
    GH->>WF: Start workflow
    Note over WF: strategy.fail-fast = false
    WF->>M: Launch jobs [axis 1..N]
    par Parallel jobs
        M-->>WF: Job A status (pass/fail)
        M-->>WF: Job B status (pass/fail)
        M-->>WF: Job C status (pass/fail)
    end
    Note over M,WF: Failures do not cancel other matrix jobs
    WF-->>GH: Aggregate results after all jobs complete
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • skoszuta
  • mateuszsikora

Poem

Little paws tap pipelines bright,
Matrix hops run through the night;
Fail fast? Not this bunny’s way—
Every job can have its say.
Farewell, old lib’s publish song,
New routes mapped, we bound along.
(\/)\n>(••)🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title succinctly identifies the primary goal of the pull request, which is to fix the NPM publish process for the typeberry/lib package. It directly reflects the removal of the outdated workflow and adjustments to the CI configuration described in the changeset. The phrasing is clear and specific, enabling teammates to understand the main change at a glance.
Description Check ✅ Passed The description clearly explains that a duplicated workflow caused race conditions and conveys why the leftover CI configuration needed removal. It directly relates to the changes in the pull request which remove the old workflow and adjust the publish process. The level of detail is sufficient for this lenient check, making the description on topic.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot requested a review from skoszuta October 2, 2025 12:21
@github-actions
Copy link

github-actions bot commented Oct 2, 2025

View all
File Benchmark Ops
bytes/hex-to.ts[0] number toString + padding 297526.25 ±1.02% fastest ✅
bytes/hex-to.ts[1] manual 14344.15 ±1.33% 95.18% slower
codec/decoding.ts[0] manual decode 20346848.91 ±1.27% 86.33% slower
codec/decoding.ts[1] int32array decode 147658207.66 ±3.41% 0.82% slower
codec/decoding.ts[2] dataview decode 148881038.05 ±3.11% fastest ✅
collections/map-set.ts[0] 2 gets + conditional set 113595.75 ±0.86% fastest ✅
collections/map-set.ts[1] 1 get 1 set 59148.09 ±0.59% 47.93% slower
bytes/hex-from.ts[0] parse hex using Number with NaN checking 132731.58 ±0.52% 84.04% slower
bytes/hex-from.ts[1] parse hex from char codes 831535.24 ±0.85% fastest ✅
bytes/hex-from.ts[2] parse hex from string nibbles 502742.06 ±2.27% 39.54% slower
math/mul_overflow.ts[0] multiply and bring back to u32 209368575.93 ±11.1% 14.26% slower
math/mul_overflow.ts[1] multiply and take modulus 244198358.63 ±8.88% fastest ✅
math/switch.ts[0] switch 257826036.85 ±5.77% fastest ✅
math/switch.ts[1] if 240641372.57 ±7.08% 6.67% slower
math/count-bits-u32.ts[0] standard method 88651892.88 ±2.04% 65.01% slower
math/count-bits-u32.ts[1] magic 253383490.31 ±5.64% fastest ✅
math/count-bits-u64.ts[0] standard method 1510762.39 ±1.4% 86.19% slower
math/count-bits-u64.ts[1] magic 10941023.13 ±3.45% fastest ✅
codec/bigint.decode.ts[0] decode custom 160911547.42 ±4.25% fastest ✅
codec/bigint.decode.ts[1] decode bigint 89858897.23 ±2.62% 44.16% slower
hash/index.ts[0] hash with numeric representation 179.21 ±1.01% 32.35% slower
hash/index.ts[1] hash with string representation 107.36 ±0.42% 59.47% slower
hash/index.ts[2] hash with symbol representation 173.2 ±0.38% 34.62% slower
hash/index.ts[3] hash with uint8 representation 161.02 ±0.39% 39.22% slower
hash/index.ts[4] hash with packed representation 264.92 ±0.23% fastest ✅
hash/index.ts[5] hash with bigint representation 189.62 ±0.36% 28.42% slower
hash/index.ts[6] hash with uint32 representation 198.69 ±0.41% 25% slower
codec/encoding.ts[0] manual encode 3037900.2 ±0.49% 16.87% slower
codec/encoding.ts[1] int32array encode 3654338.6 ±0.43% fastest ✅
codec/encoding.ts[2] dataview encode 3511983.37 ±0.65% 3.9% slower
math/add_one_overflow.ts[0] add and take modulus 238930482.84 ±7.81% 0.33% slower
math/add_one_overflow.ts[1] condition before calculation 239721181.82 ±8.81% fastest ✅
codec/bigint.compare.ts[0] compare custom 264599819.74 ±5.9% fastest ✅
codec/bigint.compare.ts[1] compare bigint 262326413.13 ±6.33% 0.86% slower
logger/index.ts[0] console.log with string concat 6902826.24 ±61% fastest ✅
logger/index.ts[1] console.log with args 1479090.72 ±77.51% 78.57% slower
codec/view_vs_collection.ts[0] Get first element from Decoded 25710.66 ±1.37% 54.27% slower
codec/view_vs_collection.ts[1] Get first element from View 56225.02 ±2.09% fastest ✅
codec/view_vs_collection.ts[2] Get 50th element from Decoded 24058.98 ±1.36% 57.21% slower
codec/view_vs_collection.ts[3] Get 50th element from View 25333.44 ±2% 54.94% slower
codec/view_vs_collection.ts[4] Get last element from Decoded 23529.23 ±1.72% 58.15% slower
codec/view_vs_collection.ts[5] Get last element from View 17573.77 ±1.82% 68.74% slower
codec/view_vs_object.ts[0] Get the first field from Decoded 432211.76 ±2.23% fastest ✅
codec/view_vs_object.ts[1] Get the first field from View 93778.12 ±1.35% 78.3% slower
codec/view_vs_object.ts[2] Get the first field as view from View 81503.67 ±1.12% 81.14% slower
codec/view_vs_object.ts[3] Get two fields from Decoded 384283.57 ±1.42% 11.09% slower
codec/view_vs_object.ts[4] Get two fields from View 66308.89 ±1.02% 84.66% slower
codec/view_vs_object.ts[5] Get two fields from materialized from View 18836.69 ±185.18% 95.64% slower
codec/view_vs_object.ts[6] Get two fields as views from View 41176.52 ±7.45% 90.47% slower
codec/view_vs_object.ts[7] Get only third field from Decoded 351329.79 ±4.62% 18.71% slower
codec/view_vs_object.ts[8] Get only third field from View 78684.96 ±3.36% 81.79% slower
codec/view_vs_object.ts[9] Get only third field as view from View 89668.97 ±1.13% 79.25% slower
bytes/compare.ts[0] Comparing Uint32 bytes 18798.92 ±1.6% 6.6% slower
bytes/compare.ts[1] Comparing raw bytes 20126.49 ±1.4% fastest ✅
hash/blake2b.ts[0] hasher with simple allocator 0.04613 ±0.25% 0.02% slower
hash/blake2b.ts[1] hasher with page allocator 0.04614 ±0.05% fastest ✅
collections/map_vs_sorted.ts[0] Map 285347.85 ±0.28% fastest ✅
collections/map_vs_sorted.ts[1] Map-array 103773.39 ±0.03% 63.63% slower
collections/map_vs_sorted.ts[2] Array 65577.92 ±0.3% 77.02% slower
collections/map_vs_sorted.ts[3] SortedArray 175850.65 ±0.13% 38.37% slower
crypto/ed25519.ts[0] native crypto 5.24 ±19.32% 82.8% slower
crypto/ed25519.ts[1] wasm lib 10.89 ±0.02% 64.26% slower
crypto/ed25519.ts[2] wasm lib batch 30.47 ±0.6% fastest ✅

Benchmarks summary: 63/63 OK ✅

@tomusdrw tomusdrw merged commit 462ca77 into main Oct 3, 2025
15 checks passed
@tomusdrw tomusdrw deleted the td-npm-build branch October 3, 2025 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants