Conversation
It's been supported caching packages.
Follow the packages' dependencies.
Codecov ReportAll modified and coverable lines are covered by tests ✅
✅ All tests successful. No failed tests found. Additional details and impacted files@@ Coverage Diff @@
## main #232 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 6 6
Lines 97 97
Branches 6 6
=========================================
Hits 97 97 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull Request Overview
This PR updates the CI workflow to use the official denoland/setup-deno action with built-in caching and adds conditional dependency installation on cache miss.
- Swap out custom
5ouma/utils/setup-deno-with-cachefordenoland/setup-deno@v2.0.3and enablecache: true - Introduce a conditional
deno install --frozenstep to run only when the cache is missed - Remove all instances of the old setup action across multiple jobs
Comments suppressed due to low confidence (1)
.github/workflows/ci.yml:41
- [nitpick] If the goal is to pre-fetch dependencies rather than install binaries, using
deno cache(e.g.,deno cache --no-check) may be more appropriate thandeno install --frozen.
run: deno install --frozen
WalkthroughThe GitHub Actions CI workflow was updated to use the official Deno setup action with caching enabled. Dependency installation now occurs only if the cache is not hit, using a conditional step. These changes affect the lint-check, type-check, and test jobs, while other jobs use the new setup action without dependency installation. Changes
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🔇 Additional comments (3)
✨ Finishing Touches🧪 Generate Unit Tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 3
🧹 Nitpick comments (2)
.github/workflows/ci.yml (2)
60-62: Adopt official Deno setup for format-check
The action is correctly updated todenoland/setup-deno@v2.0.3. For consistency and to accelerate this job (in case remote modules are used), you may optionally enable caching here as well.- - name: 🦕 Setup Deno - uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3 + - name: 🦕 Setup Deno + uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3 + with: + cache: true
139-141: Switch to official Deno setup for dry-run-publish
Usingdenoland/setup-deno@v2.0.3standardizes the dry-run-publish job. If your publish scripts import remote modules, you can optionally enablecache: truehere as well.- - name: 🦕 Setup Deno - uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3 + - name: 🦕 Setup Deno + uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3 + with: + cache: true
🛑 Comments failed to post (3)
.github/workflows/ci.yml (3)
109-112:
⚠️ Potential issueReplace install step with correct caching command in tests
Swap outdeno install --frozenfordeno cache --lock=deno.lockto properly fetch and cache the project’s locked dependencies.Suggested diff:
- run: deno install --frozen + run: deno cache --lock=deno.lock🤖 Prompt for AI Agents
In .github/workflows/ci.yml at lines 109 to 112, replace the command `deno install --frozen` with `deno cache --lock=deno.lock` to correctly fetch and cache the project's locked dependencies during the install step. This ensures proper dependency caching in the CI workflow.
84-87:
⚠️ Potential issueFix incorrect dependency pre-caching command in type-check
As above, replace thedeno install --frozeninvocation with adeno cachestep to correctly populate dependencies from the lockfile.Proposed fix:
- run: deno install --frozen + run: deno cache --lock=deno.lock🤖 Prompt for AI Agents
In .github/workflows/ci.yml around lines 84 to 87, the command `deno install --frozen` is incorrectly used for dependency pre-caching. Replace this command with `deno cache --lock=lock.json --lock-write` or a similar `deno cache` command that correctly populates dependencies from the lockfile to ensure proper caching and type-checking.
39-42:
⚠️ Potential issueFix incorrect dependency installation command
The stepdeno install --frozenis intended for installing executables and will error out without a target script. To pre-cache project dependencies per your lockfile, usedeno cache.Proposed fix:
- - name: 📦 Install Dependencies - if: ${{ steps.setup-deno.outputs.cache-hit != 'true' }} - run: deno install --frozen + - name: 📦 Cache Dependencies + if: ${{ steps.setup-deno.outputs.cache-hit != 'true' }} + run: deno cache --lock=deno.lock📝 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.- name: 📦 Cache Dependencies if: ${{ steps.setup-deno.outputs.cache-hit != 'true' }} run: deno cache --lock=deno.lock🤖 Prompt for AI Agents
In .github/workflows/ci.yml at lines 39 to 42, the command `deno install --frozen` is incorrect for installing dependencies and will fail without a target script. Replace this command with `deno cache --lock=lock.json --lock-write` (adjust lockfile path if needed) to pre-cache project dependencies according to the lockfile, ensuring proper dependency installation.
close #
✏️ Description
It's been supporting caching packages.