Skip to content

Conversation

@dskloetc
Copy link
Contributor

@dskloetc dskloetc commented Nov 25, 2025

Description

In #4279 we moved many dependencies of proof-of-reserves to devDependencies so that when any of them would be released, we wouldn't have to release proof-of-reserves as well.

When we created a release for token-balance, indeed proof-of-reserves was not included.

But the deploy PR did include proof-of-reserves. This happened because list-packages-adapters.sh, which is used by changed-adapters.sh to determine which adapters to deploy, uses yarn workspaces list -R --since. And -R follows both dependencies and devDependencies.

Changes

  1. Factor out the code to include transitive reverse dependencies from get-changeset-arguments.sh into get-reverse-dependencies.sh.
  2. Use get-reverse-dependencies.sh in list-packages-adapters.sh to include only dependencies and not devDependencies.
  3. The original add_reverse_package_deps function in get-changeset-arguments.sh also had logic only to include changed dependencies. To make this clear it is renamed to add_changed_reverse_package_deps and intersect is added to keep this behavior as we don't include it in get-reverse-dependencies.sh.
  4. Filter out packages outside the repo earlier so we don't pass them to get-reverse-dependencies.sh.

Steps to Test

  1. Add a temporary commit with version bumps and changesets for data-engine and token-balance.
  2. Note that glv-token is correctly included because it depends on data-engine but proof-of-reserves is not included because it only depends on token-balanceviadevDependencies`:
    $ .github/scripts/list-packages-adapters.sh HEAD~1 | jq '.packages'
    [
      {
        "location": "packages/composites/glv-token",
        "name": "@chainlink/glv-token-adapter",
        "version": "2.0.1"
      },
      {
        "location": "packages/sources/data-engine",
        "name": "@chainlink/data-engine-adapter",
        "version": "2.1.0"
      },
      {
        "location": "packages/sources/token-balance",
        "name": "@chainlink/token-balance-adapter",
        "version": "4.3.0"
      }
    ]
    
  3. $ .github/scripts/get-changeset-arguments.sh data-engine token-balance > /dev/null
    Not ignoring the following transitive dependencies:
    @chainlink/data-engine-adapter
    @chainlink/glv-token-adapter
    @chainlink/token-balance-adapter
    
    Expecting the following packages to be released:
    @chainlink/data-engine-adapter
    @chainlink/glv-token-adapter
    @chainlink/token-balance-adapter
    

Quality Assurance

  • If a new adapter was made, or an existing one was modified so that its environment variables have changed, update the relevant infra-k8s configuration file.
  • If a new adapter was made, or an existing one was modified so that its environment variables have changed, update the relevant adapter-secrets configuration file.
  • If a new adapter was made, or a new endpoint was added, update the test-payload.json file with relevant requests.
  • The branch naming follows git flow (feature/x, chore/x, release/x, hotfix/x, fix/x) or is created from Jira.
  • This is related to a maximum of one Jira story or GitHub issue.
  • Types are safe (avoid TypeScript/TSLint features like any and disable, instead use more specific types).
  • All code changes have 100% unit and integration test coverage. If testing is not applicable or too difficult to justify doing, the reasoning should be documented explicitly in the PR.

@changeset-bot
Copy link

changeset-bot bot commented Nov 25, 2025

⚠️ No Changeset found

Latest commit: 917edab

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@dskloetc dskloetc force-pushed the kloet/test-deps branch 2 times, most recently from 71fb5ad to 545ea03 Compare November 25, 2025 10:55
@dskloetc dskloetc marked this pull request as ready for review November 25, 2025 10:57
@dskloetc dskloetc requested a review from a team November 25, 2025 10:57
@dskloetc dskloetc marked this pull request as draft November 25, 2025 13:00
@dskloetc dskloetc marked this pull request as ready for review November 25, 2025 13:35
@dskloetc dskloetc enabled auto-merge (squash) November 25, 2025 13:36
@dskloetc dskloetc merged commit d3612c5 into main Nov 25, 2025
16 checks passed
@dskloetc dskloetc deleted the kloet/test-deps branch November 25, 2025 15:12
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.

2 participants