Conversation
…omposite action in CLD
🦋 Changeset detectedLatest commit: c91ddcc 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 |
There was a problem hiding this comment.
Pull Request Overview
This PR adds predecessor and operation count calculation logic to the proposalutils package, porting functionality from a composite GitHub action to improve reusability across MCMS-related pipelines. The implementation provides tools for finding proposal PR dependencies, computing operation counts, and managing proposal metadata.
Key changes:
- GitHub API integration for searching and analyzing proposal PRs with dependency resolution
- Operation count computation logic that calculates highest opcounts from predecessor PRs
- Proposal graph building using topological sorting to establish PR dependencies based on shared MCM addresses
Reviewed Changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| go.mod | Adds github.com/google/go-github/v71 dependency for GitHub API integration |
| experimental/proposalutils/predecessors/types.go | Defines core data structures for PR views, MCM operation data, and context |
| experimental/proposalutils/predecessors/types_test.go | Unit tests for the EndingOpCount calculation method |
| experimental/proposalutils/predecessors/proposal_graph.go | Implements dependency graph building and topological sorting for PR relationships |
| experimental/proposalutils/predecessors/proposal_graph_test.go | Comprehensive tests for graph construction and MCM relationship detection |
| experimental/proposalutils/predecessors/predecessor.go | Core logic for computing opcounts and applying them to proposals |
| experimental/proposalutils/predecessors/predecessor_test.go | Tests for opcount computation, proposal parsing, and file operations |
| experimental/proposalutils/predecessors/github_ops.go | GitHub API client implementation for PR searching and content retrieval |
| experimental/proposalutils/predecessors/github_ops_test.go | Tests for GitHub API integration with mock HTTP servers |
| .changeset/mighty-ways-kick.md | Changeset documentation for the minor version bump |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated no new comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Pull Request Overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
…er on separate repo
|
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.55.0 ### Minor Changes - [#492](#492) [`7243af8`](7243af8) Thanks [@jkongie](https://github.com/jkongie)! - update aptos dep to v1.9.1 - [#474](#474) [`fdcf28d`](fdcf28d) Thanks [@ecPablo](https://github.com/ecPablo)! - add predecessors and opcount calculation logic to proposalutils package. ### Patch Changes - [#496](#496) [`fea372c`](fea372c) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - fix: update db controller to accept context - [#498](#498) [`ce51cbe`](ce51cbe) Thanks [@gustavogama-cll](https://github.com/gustavogama-cll)! - fix: anvil env should check for addresses from DataStore as well - [#495](#495) [`126609e`](126609e) Thanks [@ecPablo](https://github.com/ecPablo)! - get delay for advancing time from the proposal instead of constant value - [#497](#497) [`976d232`](976d232) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - fix(catalog/memory): remove dependency on testing.T --------- Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>




We are moving the files related to opcounts and predecessor calculation to this package to allow better reusability across all the GH workflows as this is something that might be used in different mcms related pipelines.
Main API's Exposed
Opcount computation related
ComputeHighestOpCountsFromPredecessors: Returns the newly computed opcounts for the given PR and list of predecessors.
ApplyHighestOpCountsToProposal: Applies the new opcounts provided to the proposal and saves the proposal to the filesystem
ParseProposalOpsData: small helper to extract just the opcount related information into an easier to access struct.