Skip to content

dev -> master#376

Merged
arielmelendez merged 6 commits intomasterfrom
dev
Feb 26, 2026
Merged

dev -> master#376
arielmelendez merged 6 commits intomasterfrom
dev

Conversation

@arielmelendez
Copy link
Contributor

@arielmelendez arielmelendez commented Feb 26, 2026

Summary by CodeRabbit

  • Chores
    • Added automated dependency archiving for releases.
    • Updated build workflow infrastructure with improved GitHub Actions syntax.
    • Modified development file tracking configuration.

@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

📝 Walkthrough

Walkthrough

Introduces a new GitHub Actions workflow for archiving project dependencies at release time. Updates existing workflow syntax to use GitHub's current output format and removes immutable cache option. Modifies gitignore to stop committing yarn cache while preserving SDKs and versions directories.

Changes

Cohort / File(s) Summary
GitHub Actions Workflows
.github/workflows/release.yml, .github/workflows/test_and_build.yml
Introduces new release workflow that archives dependencies as a tar.gz artifact on GitHub releases. Updates test_and_build workflow to use new GitHub output syntax ($GITHUB_OUTPUT instead of set-output) and removes immutable-cache flag from dependency installation.
Git Configuration
.gitignore
Removes yarn cache from tracking with explanatory comments indicating dependencies are now archived at release time. Adds explicit tracking for .yarn/sdks and .yarn/versions directories.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 A workflow springs to life so grand,
Dependencies boxed and archived, as planned!
The cache now rests outside the git,
Released at last—a perfect fit! ✨
New syntax flows, clean and bright,
Our CI/CD pipelines set just right! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'dev -> master' is vague and does not meaningfully summarize the actual changes. While technically related to a branch merge, it provides no information about what is being changed. Consider a more descriptive title that reflects the main changes, such as 'Archive dependencies at release time and update workflows' or similar that conveys the actual purpose of the changeset.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/test_and_build.yml (1)

12-19: Use node-version-file to remove the manual .nvmrc parsing step.

This works, but actions/setup-node@v4 can read .nvmrc directly, which removes an extra step and output wiring.

♻️ Proposed simplification
-      - name: Read .nvmrc
-        id: node_version
-        run: echo "NODE_VERSION=$(cat .nvmrc)" >> "$GITHUB_OUTPUT"
-
       - name: Set Up node
         uses: actions/setup-node@v4
         with:
-          node-version: ${{ steps.node_version.outputs.NODE_VERSION }}
+          node-version-file: .nvmrc
           cache: 'yarn'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/test_and_build.yml around lines 12 - 19, Remove the manual
"Read .nvmrc" step (id: node_version) and instead configure the "Set Up node"
step that uses actions/setup-node@v4 to read the version file directly by adding
the node-version-file input set to ".nvmrc"; delete the echo to GITHUB_OUTPUT
and any references to steps.node_version.outputs.NODE_VERSION so the setup-node
step stands alone.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release.yml:
- Around line 34-39: The release tag is interpolated directly into shell
filenames in the tar and gh upload steps (tar -czf deps-${{
github.event.release.tag_name }}.tar.gz and gh release upload ... deps-${{
github.event.release.tag_name }}.tar.gz), which breaks when tags contain “/”;
fix by computing a sanitized, quoted tag (e.g., replace slashes with hyphens or
otherwise escape unsafe chars into a new variable like safe_tag) in the run step
or env, then use the quoted "$safe_tag" when building the tar filename and when
calling gh release upload so filenames are safe and atomic.

---

Nitpick comments:
In @.github/workflows/test_and_build.yml:
- Around line 12-19: Remove the manual "Read .nvmrc" step (id: node_version) and
instead configure the "Set Up node" step that uses actions/setup-node@v4 to read
the version file directly by adding the node-version-file input set to ".nvmrc";
delete the echo to GITHUB_OUTPUT and any references to
steps.node_version.outputs.NODE_VERSION so the setup-node step stands alone.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c494c79 and 1b3fd79.

⛔ Files ignored due to path filters (297)
  • .yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-ada901b9e7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@adraffy-ens-normalize-npm-1.10.1-e60d7ca58d-0836f394ea.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@alexsasharegan-simple-cache-npm-3.3.3-79599548bf-2cfec6d545.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ardrive-ardrive-promise-cache-npm-1.4.0-601799b9ab-af9260df56.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ardrive-turbo-sdk-npm-1.28.0-aea15cf171-069f2c38ee.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@assemblyscript-loader-npm-0.9.4-e1857d0656-2af3d1eec1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-code-frame-npm-7.14.5-4dc9115988-0adbe4f8d9.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-compat-data-npm-7.15.0-48235b743d-65088d87b1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-core-npm-7.15.5-1d250c9216-8121bf7404.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-generator-npm-7.15.4-11b44cab06-fec8e8fa46.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-compilation-targets-npm-7.15.4-8aadf9f3ed-a2b9767d56.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-function-name-npm-7.15.4-ef0109c90b-0500e8e407.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-get-function-arity-npm-7.15.4-0f7c9ab74a-1a3dba8700.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-hoist-variables-npm-7.15.4-1754989aec-1a9ae0a271.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-member-expression-to-functions-npm-7.15.4-212b6361be-30cf27e2af.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-module-imports-npm-7.15.4-b399b49e52-519681cb9c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-module-transforms-npm-7.15.4-2ff12afc8c-5bb31696c9.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-optimise-call-expression-npm-7.15.4-20261f745b-7c929d1a3d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-replace-supers-npm-7.15.4-2a4bb81d23-b08a23914a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-simple-access-npm-7.15.4-fcd51a651c-8c3462264d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-split-export-declaration-npm-7.15.4-ff2895bff2-6baf45996e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-validator-identifier-npm-7.14.9-d7bb91b6de-58552531a7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helper-validator-option-npm-7.14.5-fd38dcf0bc-1b25c34a5c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-helpers-npm-7.15.4-370adba024-e607381100.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-highlight-npm-7.14.5-4a18106cbc-4e4b22fb88.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-parser-npm-7.15.6-a61d8794ff-497c293f82.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-runtime-npm-7.27.6-350e7a5827-3f7b879df1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-template-npm-7.15.4-a024aff24b-58ca51fdd4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-traverse-npm-7.15.4-904b3fada4-831506a92c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@babel-types-npm-7.15.6-330b07a916-37f497dde1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@bufbuild-protobuf-npm-2.5.2-df6f6b0702-f0e153333f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@colors-colors-npm-1.6.0-47f686c4e2-aa209963e0.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@confio-ics23-npm-0.6.8-c87607eb2c-376d72f644.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-amino-npm-0.32.4-7fdd7bf106-7e37da1c04.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-crypto-npm-0.32.4-5c32a59023-4323132963.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-encoding-npm-0.32.4-fb7271c6a5-9a2a1d87b7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-json-rpc-npm-0.32.4-266f67496b-5153d7fbcc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-math-npm-0.32.4-14d6ffe935-1269ad0c33.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-proto-signing-npm-0.32.4-077b4b4279-c027bfec39.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-socket-npm-0.32.4-beb4a3ed76-26125bbf26.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-stargate-npm-0.32.4-a1e47e3b70-0eace182eb.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-stream-npm-0.32.4-f3b459c4c7-fa55d3f29e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-tendermint-rpc-npm-0.32.4-08520bcbd9-284e5ed3ed.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmjs-utils-npm-0.32.4-c15e0a90b9-92f4d0878b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cosmostation-extension-client-npm-0.1.15-519e08170e-5c366fb647.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cspotcode-source-map-consumer-npm-0.8.0-1f37e9e72b-c0c16ca3d2.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@cspotcode-source-map-support-npm-0.6.1-2e72b80534-da9fb4f640.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@dabh-diagnostics-npm-2.0.3-0f2cd64f24-4879600c55.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@dha-team-arbundles-npm-1.0.3-8aa28d1023-f546d3f100.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@eslint-community-regexpp-npm-4.6.2-0fc083c210-a3c341377b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@eslint-eslintrc-npm-2.1.1-ced87d94ab-bf909ea183.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@eslint-js-npm-8.46.0-3cfe1ee88b-7aed479832.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-abstract-provider-npm-5.8.0-ee06d0de27-4fd00d7705.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-abstract-signer-npm-5.8.0-8d0857234b-3f7a98caf7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-address-npm-5.8.0-c023f600dc-fa48e16403.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-base64-npm-5.8.0-157d927fec-f0c2136c99.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-basex-npm-5.8.0-4ba3e8e56a-7b502b9101.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-bignumber-npm-5.8.0-7d806998f7-c87017f466.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-bytes-npm-5.8.0-514fe1141a-507e8ef1f1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-constants-npm-5.8.0-d2733b7771-74830c44f4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-hash-npm-5.8.0-3264ef5439-e1feb47a98.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-hdnode-npm-5.8.0-b10e494aa4-72cc6bd218.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-json-wallets-npm-5.8.0-1762f50572-8e0f8529f6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-keccak256-npm-5.8.0-4fe7db6401-af3621d2b1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-logger-npm-5.8.0-0bb82509bc-6249885a7f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-networks-npm-5.8.0-faf793a741-b1d43fdab1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-pbkdf2-npm-5.8.0-b720e81bcc-79e06ec606.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-properties-npm-5.8.0-7a04c80795-2bb0369a3c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-providers-npm-5.8.0-1fc28e6a0b-2970ee03fe.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-random-npm-5.8.0-75071a3c45-c3bec10516.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-rlp-npm-5.8.0-2b93221145-9d6f646072.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-sha2-npm-5.8.0-2a9e2d637e-ef8916e303.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-signing-key-npm-5.8.0-fc5d8c7e1f-8c07741bc8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-strings-npm-5.8.0-2b103a6d82-997396cf1b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-transactions-npm-5.8.0-c13e1034fc-e867516ccc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-wallet-npm-5.8.0-680c3d5fb1-d2921c3212.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-web-npm-5.8.0-77cf3bc993-d8ca89bde8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@ethersproject-wordlists-npm-5.8.0-a9d38cc3f9-ba24300927.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@fastify-busboy-npm-2.1.1-455d8b6bf5-42c32ef75e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@humanwhocodes-config-array-npm-0.11.10-7b63df9e7f-1b1302e240.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@humanwhocodes-object-schema-npm-1.2.1-eb622b5d0e-a824a1ec31.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-d578da5e2e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@istanbuljs-nyc-config-typescript-npm-1.0.1-d1daa3ba46-b4106446f8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-5282759d96.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-common-npm-0.12.245-f8416174e1-52430c5acb.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-cosmos-npm-0.12.245-88e8c91cd4-ce0099a08b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-crypto-npm-0.12.245-0d7918f13a-62753a510f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-proto-types-npm-0.12.245-11efe158f4-525eff035e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-simple-fetch-npm-0.12.245-ae900c461d-795eb99247.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-types-npm-0.12.245-63d1733397-efe60c1f64.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@keplr-wallet-unit-npm-0.12.245-8a4de0933f-2bb3421e10.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@kyvejs-sdk-npm-1.4.5-333cd8300b-67546d235d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@kyvejs-types-npm-1.5.0-2db96edc3d-72d990f88c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@lordvlad-asn1.js-npm-5.1.1-4f1ad9d487-f2a6d873cc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@multiformats-base-x-npm-4.0.1-a1a1c51d61-ecbf84bdd7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-ciphers-npm-2.0.1-d74d5502c9-4530241711.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-curves-npm-1.2.0-9b40ee1239-bb798d7a66.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-curves-npm-1.7.0-2a0c471726-e220b704f1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-curves-npm-1.9.2-2584df26a7-bac582aefe.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-ed25519-npm-1.7.5-72530b4cd7-008835178b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-hashes-npm-1.3.2-1e619f9da0-fe23536b43.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-hashes-npm-1.6.0-b738c576d5-07729b8010.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-hashes-npm-1.6.1-a090811848-57c62f65ee.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-hashes-npm-1.8.0-a397449e64-c94e98b941.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@noble-hashes-npm-2.0.1-3deaaa8c92-aea67a671c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@nodelib-fs.scandir-npm-2.1.4-6f6ddb2372-18c2150ab5.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@nodelib-fs.stat-npm-2.0.4-0b2acf9d70-d0d9745f87.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@nodelib-fs.walk-npm-1.2.6-b686194e9d-d156901823.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@permaweb-ao-scheduler-utils-npm-0.0.25-b71346460a-6ead6b8c03.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@permaweb-aoconnect-npm-0.0.57-6b28f98a8b-d14427f451.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-aspromise-npm-1.1.2-71d00b938f-011fe7ef08.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-base64-npm-1.1.2-cd8ca6814a-67173ac34d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-codegen-npm-2.0.4-36e188bbe6-59240c850b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-eventemitter-npm-1.1.0-029cc7d431-0369163a3d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-fetch-npm-1.1.0-ca857b7df4-3fce7e09eb.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-float-npm-1.0.2-5678f64d08-5781e12412.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-inquire-npm-1.1.0-3c7759e9ce-ca06f02eaf.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-path-npm-1.1.2-641d08de76-856eeb532b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-pool-npm-1.1.0-47a76f96a1-d6a34fbbd2.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@protobufjs-utf8-npm-1.1.0-02c590807c-f9bf3163d1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@randlabs-communication-bridge-npm-1.0.1-0b97ea5173-9573e7f848.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@randlabs-myalgo-connect-npm-1.4.2-3c81cdc9c9-2328adc8f4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@scure-base-npm-1.2.1-f0f39b0c0b-061e04e4f6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@scure-starknet-npm-1.1.0-bc7c3145b9-7aa08f272c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@sinonjs-commons-npm-1.8.3-30cf78d93f-6159726db5.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@sinonjs-fake-timers-npm-6.0.1-cebf4d0bfb-8e331aa141.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@sinonjs-fake-timers-npm-7.1.2-2a6b119ac7-c84773d797.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@sinonjs-samsam-npm-5.3.1-deedfea087-1c2c49d51b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@sinonjs-samsam-npm-6.0.2-5e8e8897e2-bc1514edf1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@sinonjs-text-encoding-npm-0.7.1-865b0079b5-130de0bb56.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@solana-buffer-layout-npm-4.0.1-4100001d9d-bf846888e8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@solana-codecs-core-npm-2.1.1-9ac32900e2-7791c890bc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@solana-codecs-numbers-npm-2.1.1-0c92170445-5838cd7c2e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@solana-errors-npm-2.1.1-78e787d6fd-902f36a53b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@solana-web3.js-npm-1.98.2-fec7ea9097-23b8165cf6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@starknet-io-types-js-npm-0.7.10-b99b5cb73a-8f71c57d0f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@swc-helpers-npm-0.5.17-53974f71e8-085e13b536.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@tsconfig-node10-npm-1.0.8-90a8cce25d-b8d5fffbc6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@tsconfig-node12-npm-1.0.9-780563856d-a01b2400ab.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@tsconfig-node14-npm-1.0.1-3ecac58e68-976345e896.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@tsconfig-node16-npm-1.0.2-1f43ab567a-ca94d36397.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-chai-npm-4.2.21-22c1ed2cef-dbd852dfea.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-chai-npm-5.2.2-175f762512-386887bd55.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-cli-color-npm-2.0.6-c58c4397a2-f465c728b0.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-clui-npm-0.3.4-08024972bb-9808b38cfa.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-color-name-npm-1.1.1-00b0925070-b71fcad728.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-connect-npm-3.4.38-a8a4c38337-7eb1bc5342.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-deep-eql-npm-4.0.2-e6bc68cc92-249a27b0bb.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-inquirer-npm-8.2.11-0788c7c7d0-22733d5b7e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-json-schema-npm-7.0.12-f05cfc0e99-00239e9723.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-jwk-to-pem-npm-2.0.1-783b4dc2e2-4fb0e1918c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-lodash-npm-4.14.176-34dca4acb8-9e949704df.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-long-npm-4.0.1-022c8b6e77-ff9653c33f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-minimist-npm-1.2.2-a445de65da-b8da83c66e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-mocha-npm-9.0.0-cd77a42cf3-73e6edaba0.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-fetch-npm-2.6.4-3e5a54c325-f3e1d881bb.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-10.12.18-7c6aeb4e07-333cedae77.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-11.11.6-40abad0842-075f1c011c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-12.20.55-88487587a4-e4f86785f4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-14.17.15-9cfdb3e8eb-e0840304db.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-16.7.13-08a1515fa1-15dc28aa44.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-18.17.2-471d3f5212-2e08acaeb3.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-node-npm-22.7.5-0428b60a8c-1a8bbb504e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-normalize-package-data-npm-2.4.1-c31c56ae6a-e87bccbf11.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-parse-json-npm-4.0.0-298522afa6-fd6bce2b67.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-prompts-npm-2.4.0-5b5caba459-ec75655f07.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-semver-npm-7.5.0-4823ff34be-0a64b9b9c7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-sinon-chai-npm-3.2.5-1d6490532a-ac332b8f2c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-sinon-npm-10.0.2-2a54516cee-442e62fe19.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-sinon-npm-9.0.11-231734b808-2074490973.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-sinonjs__fake-timers-npm-6.0.3-7a45cf3bad-6def7829e1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-source-map-support-npm-0.5.4-1c4eb2be20-160ff77e8a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-through-npm-0.0.33-000c353976-fd0b73f873.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-triple-beam-npm-1.3.5-0f1b823630-519b6a1b30.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-uuid-npm-8.3.4-7547f4402c-6f11f3ff70.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-ws-npm-7.4.7-d0c95c0958-b4c9b8ad20.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@types-ws-npm-8.18.1-61dc106ff0-0331b14cde.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-eslint-plugin-npm-6.2.1-0d36314f04-e73f3fe365.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-parser-npm-6.2.1-5eca572243-cf4768cbfc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-scope-manager-npm-6.2.1-50be37182a-3bb461678c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-type-utils-npm-6.2.1-c2052dd97a-7f8d80f03e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-types-npm-6.2.1-45ff46aaf3-388d32f15a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-typescript-estree-npm-6.2.1-bb98926d47-3d9beeb5e3.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-utils-npm-6.2.1-deb8def7e9-d16356a633.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@typescript-eslint-visitor-keys-npm-6.2.1-6a12bb9525-c05a1c4512.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/@weavery-clarity-npm-0.1.5-4059231b5b-d2d9d49417.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/abi-wan-kanabi-npm-2.2.4-f9d11ae16a-6d7cbb424f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/acorn-npm-8.10.0-2230c9e83e-538ba38af0.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/acorn-npm-8.5.0-faed0ea119-2e4c1dbed3.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/aes-js-npm-3.0.0-fdf135c6be-251e26d533.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/aes-js-npm-4.0.0-beta.5-c70da65547-cc2ea969d7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/agentkeepalive-npm-4.6.0-6b61ca2a37-b3cdd10efc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/algo-msgpack-with-bigint-npm-2.1.1-346854fabb-81645fc124.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/algosdk-npm-1.24.1-ca013ea8b1-3b6960ddde.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-colors-npm-4.1.1-97ad42f223-138d04a510.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-regex-npm-2.1.1-ddd24d102b-190abd03e4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-regex-npm-3.0.0-be0b845911-2ad11c416f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-regex-npm-5.0.0-9c076068d9-b1bb4e992a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-d85ade01c1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansi-styles-npm-4.2.1-de50ec308d-7c74dbc7ec.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ansicolors-npm-0.3.2-cc35882814-e84fae7ebc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/anymatch-npm-3.1.2-1d5471acfa-985163db22.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/apparatus-npm-0.0.10-11747878b3-ab0bf67889.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/append-transform-npm-2.0.0-99bd7d69ed-f26f393bf7.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/aproba-npm-1.2.0-34129f0778-0fca141966.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/archy-npm-1.0.0-7db8bfdc3b-504ae7af65.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arconnect-npm-0.2.9-a276136014-19b0a7f62d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arconnect-npm-0.4.2-c912da9e86-5b2f262a93.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/ardrive-core-js-npm-3.1.0-9dbb775a45-fa325d3bb6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/are-we-there-yet-npm-1.1.5-b8418908b0-9a746b1dbc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arg-npm-4.1.3-1748b966a8-544af8dd3f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/argparse-npm-1.0.10-528934e59d-7ca6e45583.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arrify-npm-1.0.1-affafba9fe-745075dd4a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/articles-npm-0.2.2-6731b8aafe-6aebde650e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arweave-npm-1.10.16-559acf76f7-4801807818.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arweave-npm-1.15.7-63a8ed4eb2-ebb28e6e05.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/arweave-stream-tx-npm-1.2.2-e142510769-7db2ef3078.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/asn1-npm-0.2.4-219dd49411-aa5d6f77b1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/asn1.js-npm-5.4.1-37c7edbcb0-3786a101ac.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/assertion-error-npm-1.1.0-66b893015e-fd9429d3a3.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/astral-regex-npm-2.0.0-f30d866aab-876231688c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/async-npm-3.2.6-aa4f5aa081-ee6eb8cd8a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/available-typed-arrays-npm-1.0.7-e5e5d79687-1aa3ffbfe6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/aws4-npm-1.10.1-c15d26e3d7-290a22fc11.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/axios-npm-0.21.1-d192f6b3b3-c87915fa0b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/axios-npm-0.27.2-dbe3a48aea-38cb754046.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/axios-npm-1.10.0-0c877f1ea6-b5fd840d49.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/axios-retry-npm-3.9.1-6665aba9d3-44e574ad55.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/balanced-match-npm-1.0.0-951a2ad706-9b67bfe558.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/base-x-npm-3.0.11-3798da0834-c2e3c443fd.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/base-x-npm-4.0.1-50d20f9e5b-c9061e576f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/base64url-npm-3.0.1-4c171c4917-a77b2a3a52.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bech32-npm-1.1.4-87b69922f7-0e98db6191.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bech32-npm-2.0.0-ad98b7dd79-fa15acb270.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/big-integer-npm-1.6.52-4bec75720c-6e86885787.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bignumber.js-npm-9.0.1-270d0c8a55-6e72f6069d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bignumber.js-npm-9.0.2-583f690302-8637b71d0a.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bignumber.js-npm-9.1.2-c2228c6a4a-582c03af77.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bignumber.js-npm-9.3.0-bbfdbd6dc8-580d783d60.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/binary-extensions-npm-2.1.0-0681d7e2ce-16ef0ca9b8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bindings-npm-1.5.0-77ce1d213c-65b6b48095.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bip174-npm-2.1.1-d9fcaf36f9-bc5b99e7d1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bip32-npm-2.0.6-e2304169e2-1c654a9383.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bip39-npm-3.0.2-32369862f4-71798582b4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bip39-npm-3.1.0-03958ed434-1224e763ff.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bitcoinjs-lib-npm-6.1.7-31b0bb4f5c-2fbac2bffc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bl-npm-4.1.0-7f94cdcf3f-9e8521fa7e.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bl-npm-5.0.0-cd18f87fd8-5dbbcf9cbc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/blakejs-npm-1.2.1-b1ff783529-d699ba116c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bn.js-npm-4.12.0-3ec6c884f6-39afb4f15f.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bn.js-npm-4.12.2-c97b742b8d-dd224afda6.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bn.js-npm-5.2.1-dc952b1965-3dd8c8d380.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bn.js-npm-5.2.2-a1a52ffece-4384d35fef.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/borsh-npm-0.7.0-c3e1c21bb3-e98bfb5f7c.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/brorand-npm-1.1.0-ea86634c4b-8a05c9f3c4.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/browser-stdout-npm-1.3.1-6b2376bf3f-b717b19b25.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/browserslist-npm-4.17.0-98801cc7f5-9b45ec283d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bs58-npm-4.0.1-8d2a7822b1-b3c5365bb9.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bs58-npm-5.0.0-da02537b92-2475cb0684.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bs58check-npm-2.1.2-4e87e40195-43bdf08a5d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bs58check-npm-3.0.1-be32851e5e-dbbecc7a09.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/buffer-from-npm-1.1.1-22917b8ed8-ccc53b6973.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/buffer-npm-6.0.3-cd90dfedfe-5ad23293d9.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/bufferutil-npm-4.0.9-956b9c83fa-51ce9ee19b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/caching-transform-npm-4.0.0-d619d562ea-c4db693953.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/call-bind-apply-helpers-npm-1.0.2-3eedbea3bb-b2863d74fc.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/call-bind-npm-1.0.8-4145a20621-aa2899bce9.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/call-bound-npm-1.0.4-359cfa32c7-2f6399488d.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/camelcase-keys-npm-6.2.2-d13777ec12-43c9af1adf.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/camelcase-npm-5.3.1-5db8af62c5-e6effce26b.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/camelcase-npm-6.2.0-69f8c130ac-8335cfd0ec.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/caniuse-lite-npm-1.0.30001723-b76b1ad4e4-0acd7f33f1.zip is excluded by !**/.yarn/**, !**/*.zip
  • .yarn/cache/cardinal-npm-2.1.1-b77e7b28a7-e8d4ae4643.zip is excluded by !**/.yarn/**, !**/*.zip
📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • .github/workflows/test_and_build.yml
  • .gitignore

Comment on lines +34 to +39
run: tar -czf deps-${{ github.event.release.tag_name }}.tar.gz .yarn/cache

- name: Attach archive to release
env:
GH_TOKEN: ${{ github.token }}
run: gh release upload "${{ github.event.release.tag_name }}" deps-${{ github.event.release.tag_name }}.tar.gz --clobber
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cat -n .github/workflows/release.yml

Repository: ardriveapp/ardrive-cli

Length of output: 1290


🌐 Web query:

GitHub release tag naming rules allowed characters valid format

💡 Result:

What characters/formats are valid for GitHub release tags?

GitHub release tags are Git tag refs, so the tag name must be a valid Git ref name (per git check-ref-format) and also meet a couple of GitHub-specific restrictions.

Git (ref) rules (what Git itself allows/forbids)

A tag name must not:

  • contain .. anywhere
  • contain ASCII control chars, space, ~, ^, :, ?, *, [, or \
  • contain the sequence @{, or be exactly @
  • start or end with /, or contain //
  • end with .
  • have any path component (between slashes) that starts with . or ends with .lock
    (These are the core git-check-ref-format rules.) [1]

Note: Git allows many other characters (including many punctuation characters), as long as you don’t violate the rules above. [1]

GitHub-specific restrictions (beyond Git)

GitHub additionally blocks pushing tag/branch names that:

  • look like a Git object ID (40 hex chars, 0-9 and A-F)
  • begin with refs/ [2]

“Safe” recommended character set (practical best practice)

GitHub recommends a conservative set that avoids escaping/URL/shell issues:
A–Z a–z 0–9 . - _ / [2]

Common valid formats (examples)

  • v1.2.3
  • 1.2.3
  • release/2026-02-26
  • v2.0.0-rc.1

Sources: Git ref naming rules (git-check-ref-format). [1] GitHub docs on tag/branch naming and GitHub restrictions. [2]


Sanitize and quote the release tag before using it in shell filenames.

GitHub release tags are Git refs and can contain / as a valid character (e.g., release/1.0.0). At Line 34, the tag is interpolated directly into the filename without quoting. If a tag contains /, the tar command would attempt to write to a non-existent subdirectory and fail. Line 39 has the same issue with the unquoted filename. While not exploitable in a dangerous way, this prevents releases with tags containing / from completing successfully.

Proposed hardening
       - name: Archive dependency cache
-        run: tar -czf deps-${{ github.event.release.tag_name }}.tar.gz .yarn/cache
+        env:
+          RELEASE_TAG: ${{ github.event.release.tag_name }}
+        run: |
+          SAFE_TAG="${RELEASE_TAG//\//-}"
+          tar -czf "deps-${SAFE_TAG}.tar.gz" .yarn/cache

       - name: Attach archive to release
         env:
           GH_TOKEN: ${{ github.token }}
-        run: gh release upload "${{ github.event.release.tag_name }}" deps-${{ github.event.release.tag_name }}.tar.gz --clobber
+          RELEASE_TAG: ${{ github.event.release.tag_name }}
+        run: |
+          SAFE_TAG="${RELEASE_TAG//\//-}"
+          gh release upload "$RELEASE_TAG" "deps-${SAFE_TAG}.tar.gz" --clobber
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
run: tar -czf deps-${{ github.event.release.tag_name }}.tar.gz .yarn/cache
- name: Attach archive to release
env:
GH_TOKEN: ${{ github.token }}
run: gh release upload "${{ github.event.release.tag_name }}" deps-${{ github.event.release.tag_name }}.tar.gz --clobber
env:
RELEASE_TAG: ${{ github.event.release.tag_name }}
run: |
SAFE_TAG="${RELEASE_TAG//\//-}"
tar -czf "deps-${SAFE_TAG}.tar.gz" .yarn/cache
- name: Attach archive to release
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.event.release.tag_name }}
run: |
SAFE_TAG="${RELEASE_TAG//\//-}"
gh release upload "$RELEASE_TAG" "deps-${SAFE_TAG}.tar.gz" --clobber
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml around lines 34 - 39, The release tag is
interpolated directly into shell filenames in the tar and gh upload steps (tar
-czf deps-${{ github.event.release.tag_name }}.tar.gz and gh release upload ...
deps-${{ github.event.release.tag_name }}.tar.gz), which breaks when tags
contain “/”; fix by computing a sanitized, quoted tag (e.g., replace slashes
with hyphens or otherwise escape unsafe chars into a new variable like safe_tag)
in the run step or env, then use the quoted "$safe_tag" when building the tar
filename and when calling gh release upload so filenames are safe and atomic.

@arielmelendez arielmelendez merged commit 481fe57 into master Feb 26, 2026
2 checks passed
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.

1 participant