fix(engine): support big int in changeset#752
Conversation
🦋 Changeset detectedLatest commit: 60e9244 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
fd9a923 to
d68902a
Compare
d68902a to
60e9244
Compare
|
There was a problem hiding this comment.
Pull request overview
Updates the durable pipeline YAML parsing in the legacy CLI to preserve large integer precision (avoiding float64 coercion) so changeset payloads containing big integers can be safely serialized to JSON without losing accuracy.
Changes:
- Parse YAML into
yaml.Nodeand convert tomap[string]any/[]anywhile preserving integer scalars asjson.Number. - Extend
chainOverridesvalidation to acceptjson.Numberand validate it as a non-negative integer. - Add regression/compatibility tests and a changeset entry for the patch release.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| engine/cld/legacy/cli/commands/durable_pipeline_yaml.go | Switches YAML parsing to yaml.Node + custom conversion to preserve integer precision and updates validation for chainOverrides. |
| engine/cld/legacy/cli/commands/durable-pipelines_test.go | Adds tests covering large-integer precision and YAML node conversion behavior. |
| .changeset/silent-berries-watch.md | Declares a patch release for the big-int preservation fix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## chainlink-deployments-framework@0.81.1 ### Patch Changes - [#752](#752) [`e07d0ff`](e07d0ff) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - fix(engine): support big int in changeset --------- Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>





when input yaml has some big integers, eg
the value will be represented in float which is not accurate , by implementing unmarshaling with yaml.node, we can manually set the type to be big int, maintaining the accuracy of the number.