-
Notifications
You must be signed in to change notification settings - Fork 182
chore: move from Makefile to mise #6368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughReplaces Makefile-driven build/lint/test flows with a mise task runner: deletes Changes
Sequence Diagram(s)sequenceDiagram
actor Developer
participant GitHub as GitHub Actions
participant MiseAction as jdx/mise-action
participant Runner as Job Runner
participant Tools as Toolchain
Developer->>GitHub: push PR / commit
GitHub->>MiseAction: invoke mise-action step
MiseAction->>Runner: provision env & install mise
Runner->>Tools: run mise tasks (lint / test / install / codecov)
Tools-->>Runner: produce outputs/artifacts
Runner-->>GitHub: upload artifacts / report status
sequenceDiagram
participant Docker as Docker build
participant Script as scripts/install_mise.sh
participant GPG as Keyserver/GPG
participant Mise as mise installer
participant Tools as Toolchain
Docker->>Script: RUN ./scripts/install_mise.sh
Script->>GPG: import release key & verify signature
Script->>Mise: execute verified installer script
Mise-->>Docker: mise installed
Docker->>Mise: RUN mise trust && mise run install
Mise->>Tools: install project binaries
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📜 Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (3)
🧰 Additional context used🧠 Learnings (1)📓 Common learnings⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
🔇 Additional comments (2)
Comment |
f11e87e to
983d358
Compare
42d496b to
19b0dac
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @scripts/install_mise.sh:
- Line 10: Update the curl invocation that downloads the signature in the
scripts/install_mise.sh script to fail on HTTP errors and surface errors
cleanly: modify the curl call (the line starting with "curl
https://mise.jdx.dev/install.sh.sig | gpg --decrypt > install-mise.sh") to
include --fail and add --silent --show-error (or at least --fail --show-error)
so HTTP error responses aren't piped into gpg and error output is clearer.
- Around line 5-9: The gpg command hardcodes the fingerprint instead of using
the GPG_KEY variable; replace the literal fingerprint in the gpg --recv-keys
invocation with the variable (e.g., use "$GPG_KEY" or "${GPG_KEY}") so the
script uses the exported GPG_KEY value, and ensure it is quoted to avoid
word-splitting.
🧹 Nitpick comments (1)
mise.toml (1)
174-177: Consider pinning tool versions for reproducibility.The tools are configured with
"latest"which can lead to non-reproducible builds and potential breakage from version changes. Consider pinning to specific versions (e.g.,go = "1.25",yarn = "4.x") to ensure consistent behavior across environments.
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
.dockerignoreCHANGELOG.mdDockerfilebuild/vendored-docs-redirect.index.htmlmise.tomlscripts/install_mise.sh
🚧 Files skipped from review as they are similar to previous changes (2)
- CHANGELOG.md
- build/vendored-docs-redirect.index.html
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: LesnyRumcajs
Repo: ChainSafe/forest PR: 5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.
📚 Learning: 2025-08-07T13:39:15.107Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:29-29
Timestamp: 2025-08-07T13:39:15.107Z
Learning: Auto-generated files like those created by rust2go (indicated by "Generated by rust2go. Please DO NOT edit this C part manually." comment) in the Forest project should be skipped during code review as they are not intended for manual editing.
Applied to files:
mise.toml
📚 Learning: 2025-08-07T13:39:29.732Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:58-58
Timestamp: 2025-08-07T13:39:29.732Z
Learning: In the Forest project, auto-generated files (like those generated by rust2go tool) should be skipped during code review as they are not meant to be manually edited.
Applied to files:
mise.toml
📚 Learning: 2025-10-17T09:36:15.757Z
Learnt from: elmattic
Repo: ChainSafe/forest PR: 6128
File: src/ipld/util.rs:23-30
Timestamp: 2025-10-17T09:36:15.757Z
Learning: Always run `cargo check` or `cargo build` to verify actual compilation errors in the Forest codebase before flagging them as issues. Do not rely solely on documentation or assumptions about trait implementations.
Applied to files:
Dockerfile
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
- GitHub Check: Coverage
- GitHub Check: Build forest binaries on Linux AMD64
- GitHub Check: Check
- GitHub Check: Deploy to Cloudflare Pages
- GitHub Check: rubocop
- GitHub Check: All lint checks
- GitHub Check: tests-release
- GitHub Check: cargo-publish-dry-run
- GitHub Check: Build MacOS
- GitHub Check: Build Ubuntu
🔇 Additional comments (1)
scripts/install_mise.sh (1)
5-12: The original review comment incorrectly questions whetherMISE_VERSIONandMISE_INSTALL_PATHare used by the installer. Both environment variables are officially supported by the mise installer script and are used during installation:
MISE_VERSIONpins which mise release to installMISE_INSTALL_PATHsets where the mise binary will be writtenThese variables are correctly exported in the script and should not be removed.
Likely an incorrect or invalid review comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @mise.toml:
- Around line 10-17: Initialize SLIM_FLAGS to an empty string before the
conditional and quote variable expansions in the run script: set SLIM_FLAGS=""
before testing usage_slim, keep the conditional that sets SLIM_FLAGS when
usage_slim is true, and change unquoted ${usage_profile} and ${SLIM_FLAGS} to
quoted expansions so the cargo install invocation uses "${usage_profile}" and
"${SLIM_FLAGS}" to avoid unbound-variable and word-splitting issues.
- Around line 174-177: The tools table currently pins all tool versions to
"latest", which makes builds non-reproducible; update the [tools] section by
replacing the "latest" values for the keys cargo-binstall, go, and yarn with
fixed version strings (e.g., cargo-binstall -> "1.16.6", go -> "1.25.5", yarn ->
"4.12.0") or alternatively generate and commit a mise.lock to lock resolved
versions so CI and developer environments use identical tool versions.
🧹 Nitpick comments (4)
mise.toml (4)
61-67: Consider optimizing gem installation.The task installs the
toml-rbgem on every invocation, which is inefficient. Consider checking if the gem is already installed or documenting that users should install it separately.♻️ Proposed optimization
run = ''' -gem install --no-document toml-rb +gem list -i toml-rb >/dev/null 2>&1 || gem install --no-document toml-rb ruby scripts/linters/find_unused_deps.rb '''
102-104: Consider includinglint:tomlin the Rust linting tasks.Since TOML files (like
Cargo.toml) are integral to Rust projects, you may want to includelint:tomlin thelint:all-rusttask for completeness.♻️ Proposed enhancement
[tasks."lint:all-rust"] description = "Run all Rust linting tasks." -depends = ["lint:deny", "lint:spellcheck", "lint:rust-fmt", "lint:clippy", "lint:unused-deps"] +depends = ["lint:deny", "lint:spellcheck", "lint:toml", "lint:rust-fmt", "lint:clippy", "lint:unused-deps"]
106-122: Simplify yarn initialization.Both tasks run
yarn && yarn install, which is redundant sinceyarn(with no arguments) already performsyarn install. This can be simplified to justyarn install.♻️ Proposed simplification
For
lint:yaml:run = ''' -corepack enable && yarn && yarn install +corepack enable && yarn install yarn yaml-fmt yarn yaml-check '''For
fmt:run = ''' cargo fmt --all taplo fmt -corepack enable && yarn && yarn install +corepack enable && yarn install yarn md-fmt yarn yaml-fmt '''
156-166: Consider using mise's task orchestration syntax instead of shell invocations.While mise supports calling
mise task runfrom within tasks, the idiomatic approach is to use inline task objects. The code can be refactored to:run = [ { task = "test:rust", args = ["${usage_profile?}"] }, { task = "test:docs", args = ["${usage_profile?}"] } ]This is more aligned with mise's task orchestration patterns and provides better clarity around task dependencies and parameter passing.
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
mise.toml
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: LesnyRumcajs
Repo: ChainSafe/forest PR: 5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.
📚 Learning: 2025-08-07T13:39:15.107Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:29-29
Timestamp: 2025-08-07T13:39:15.107Z
Learning: Auto-generated files like those created by rust2go (indicated by "Generated by rust2go. Please DO NOT edit this C part manually." comment) in the Forest project should be skipped during code review as they are not intended for manual editing.
Applied to files:
mise.toml
📚 Learning: 2025-08-07T13:39:29.732Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:58-58
Timestamp: 2025-08-07T13:39:29.732Z
Learning: In the Forest project, auto-generated files (like those generated by rust2go tool) should be skipped during code review as they are not meant to be manually edited.
Applied to files:
mise.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
- GitHub Check: Build Ubuntu
- GitHub Check: Build MacOS
- GitHub Check: cargo-publish-dry-run
- GitHub Check: tests-release
- GitHub Check: All lint checks
- GitHub Check: Build forest binaries on Linux AMD64
- GitHub Check: rubocop
- GitHub Check: Coverage
🔇 Additional comments (6)
mise.toml (6)
20-23: LGTM!The task correctly installs the required linting tools using cargo-binstall.
50-59: LGTM!The task comprehensively checks Clippy across different feature combinations and the docs.rs build configuration.
69-96: LGTM!All specialized linting tasks are properly configured with their respective tools and targets.
124-129: LGTM!The cleanup task safely removes build artifacts and dependencies.
168-172: LGTM!The code coverage task is correctly configured.
37-42: Verify error propagation in mise task run blocks.The task runs two
taplocommands sequentially without explicit error handling. Confirm whether mise's run block execution automatically fails on the first command's error (e.g., iftaplo fmt --checkfails) or if both commands execute regardless. If explicit error handling is needed, use the&&operator.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
mise.toml (4)
10-17: InitializeSLIM_FLAGSto prevent potential shell errors.The
SLIM_FLAGSvariable is only set whenusage_slimis true, but it's always referenced on line 16. While bash tolerates unset variables in unquoted expansions, this is fragile and could fail withset -uor in stricter shell environments.🛡️ Defensive coding improvement
run = ''' echo "Installing Forest binaries with profile: ${usage_profile?}" [[ -n "${usage_verbose}" ]] && set -x +SLIM_FLAGS="" if [ "${usage_slim}" = true ]; then SLIM_FLAGS="--no-default-features --features slim" fi cargo install --profile ${usage_profile} ${SLIM_FLAGS} --locked --path . --force '''
106-112: Remove redundantyarncommand.Line 109 runs
yarn && yarn install, but in Yarn v2+ (Berry),yarnwithout arguments is equivalent toyarn install. The first invocation is redundant.🔧 Simplify command
run = ''' -corepack enable && yarn && yarn install +corepack enable && yarn install yarn yaml-fmt yarn yaml-check '''
114-122: Remove redundantyarncommand.Line 119 has the same redundancy as
tasks."lint:yaml"- runningyarn && yarn installwhenyarn installalone is sufficient in Yarn v2+.🔧 Simplify command
run = ''' cargo fmt --all taplo fmt -corepack enable && yarn && yarn install +corepack enable && yarn install yarn md-fmt yarn yaml-fmt '''
174-177: Pin tool versions for reproducible builds.All tools are set to
"latest", which can cause CI builds to break unexpectedly when tools update and may introduce inconsistencies across different build environments. For production CI/CD pipelines, pinning to specific versions ensures deterministic, reproducible builds.📌 Pin tool versions
Consider pinning to specific versions:
[tools] -cargo-binstall = "latest" -go = "latest" -yarn = "latest" +cargo-binstall = "1.10.15" # or your preferred version +go = "1.23.4" # or your preferred version +yarn = "4.5.3" # or your preferred versionAfter determining appropriate versions, you can periodically update them in a controlled manner through dependency update PRs.
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
mise.toml
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: LesnyRumcajs
Repo: ChainSafe/forest PR: 5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.
📚 Learning: 2025-08-07T13:39:15.107Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:29-29
Timestamp: 2025-08-07T13:39:15.107Z
Learning: Auto-generated files like those created by rust2go (indicated by "Generated by rust2go. Please DO NOT edit this C part manually." comment) in the Forest project should be skipped during code review as they are not intended for manual editing.
Applied to files:
mise.toml
📚 Learning: 2025-08-07T13:39:29.732Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:58-58
Timestamp: 2025-08-07T13:39:29.732Z
Learning: In the Forest project, auto-generated files (like those generated by rust2go tool) should be skipped during code review as they are not meant to be manually edited.
Applied to files:
mise.toml
📚 Learning: 2025-08-08T12:10:45.218Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5867
File: src/ipld/util.rs:553-558
Timestamp: 2025-08-08T12:10:45.218Z
Learning: Forest pins Rust toolchain to 1.89.0 via rust-toolchain.toml; features stabilized in 1.88 (e.g., let-chains) are acceptable in this codebase.
Applied to files:
mise.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: Build Ubuntu
- GitHub Check: cargo-publish-dry-run
- GitHub Check: Build MacOS
- GitHub Check: Build forest binaries on Linux AMD64
- GitHub Check: tests-release
- GitHub Check: Coverage
- GitHub Check: All lint checks
- GitHub Check: Go lint checks
- GitHub Check: rubocop
- GitHub Check: Check
- GitHub Check: Deploy to Cloudflare Pages
🔇 Additional comments (1)
mise.toml (1)
168-172: Verify codecov scope is intentional.The codecov task only generates coverage for the
forest-filecoinpackage. The workspace also containsforest-interop-tests(theinterop-testsmember), which is not included in the coverage report. Confirm whether coverage forforest-interop-testsshould be added or if excluding it is intentional.
There was a problem hiding this 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
🤖 Fix all issues with AI agents
In @mise.toml:
- Around line 76-81: The shellcheck task's run script uses the **/*.sh glob
which requires Bash's globstar option; update the tasks."lint:shellcheck" run
command to enable globstar before invoking shellcheck (e.g., set shopt -s
globstar or run bash with -O globstar) so nested scripts are matched, or
alternatively replace the glob with a find/xargs pipeline that locates all *.sh
under SCRIPTDIR and feeds them to shellcheck; ensure you reference the existing
run string and SCRIPTDIR symbol when making the change.
🧹 Nitpick comments (3)
mise.toml (3)
106-112: Remove redundant yarn command.Line 109 runs
yarn && yarn install, butyarnwithout arguments defaults toyarn install, making the second call redundant.♻️ Proposed refactor
[tasks."lint:yaml"] description = "Lint YAML files." run = ''' -corepack enable && yarn && yarn install +corepack enable && yarn install yarn yaml-fmt yarn yaml-check '''
114-122: Remove redundant yarn command.Same redundancy as in
lint:yaml:yarn && yarn installon line 119 can be simplified to justyarn install.♻️ Proposed refactor
[tasks.fmt] description = "Format all supported code." run = ''' cargo fmt --all taplo fmt -corepack enable && yarn && yarn install +corepack enable && yarn install yarn md-fmt yarn yaml-fmt '''
61-67: Consider caching gem installation for efficiency.The task installs
toml-rbgem on every run, which is inefficient but functional. Consider documenting that users should pre-install the gem, or check if it's already installed before attempting installation.♻️ Proposed optimization
[tasks."lint:unused-deps"] description = "Check for unused dependencies in Rust code." tools.ruby = "latest" run = ''' -gem install --no-document toml-rb +gem list toml-rb -i || gem install --no-document toml-rb ruby scripts/linters/find_unused_deps.rb '''
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
mise.toml
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: LesnyRumcajs
Repo: ChainSafe/forest PR: 5907
File: src/rpc/methods/state.rs:523-570
Timestamp: 2025-08-06T15:44:33.467Z
Learning: LesnyRumcajs prefers to rely on BufWriter's Drop implementation for automatic flushing rather than explicit flush() calls in Forest codebase.
📚 Learning: 2025-08-07T13:39:15.107Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:29-29
Timestamp: 2025-08-07T13:39:15.107Z
Learning: Auto-generated files like those created by rust2go (indicated by "Generated by rust2go. Please DO NOT edit this C part manually." comment) in the Forest project should be skipped during code review as they are not intended for manual editing.
Applied to files:
mise.toml
📚 Learning: 2025-08-07T13:39:29.732Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5886
File: interop-tests/src/tests/go_app/gen.go:58-58
Timestamp: 2025-08-07T13:39:29.732Z
Learning: In the Forest project, auto-generated files (like those generated by rust2go tool) should be skipped during code review as they are not meant to be manually edited.
Applied to files:
mise.toml
📚 Learning: 2025-08-08T12:10:45.218Z
Learnt from: hanabi1224
Repo: ChainSafe/forest PR: 5867
File: src/ipld/util.rs:553-558
Timestamp: 2025-08-08T12:10:45.218Z
Learning: Forest pins Rust toolchain to 1.89.0 via rust-toolchain.toml; features stabilized in 1.88 (e.g., let-chains) are acceptable in this codebase.
Applied to files:
mise.toml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
- GitHub Check: Build MacOS
- GitHub Check: Build Ubuntu
- GitHub Check: cargo-publish-dry-run
- GitHub Check: tests-release
- GitHub Check: Coverage
- GitHub Check: Build forest binaries on Linux AMD64
- GitHub Check: All lint checks
- GitHub Check: rubocop
- GitHub Check: Check
- GitHub Check: Deploy to Cloudflare Pages
🔇 Additional comments (4)
mise.toml (4)
131-166: LGTM!The test task structure is well-organized with proper profile argument handling and task composition. The separation of doctests and regular tests via nextest is appropriate given nextest's limitation with doctests.
13-13: No issue found. The comparison[ "${usage_slim}" = true ]is correct—mise passes boolean flags as the literal strings"true"or"false"to task environment variables, so the check works as intended.
168-172: No action required — the codecov command is already proven to work.This task duplicates the existing Makefile target
codecov, which uses the identical command and is already running successfully in the CI pipeline (.github/workflows/coverage.yml). Bothcargo-llvm-covavailability and the-p forest-filecoinpackage scope are already validated by the active CI workflow. If adding this task tomise.tomlfor convenience, ensure it remains synchronized with the Makefile version.Likely an incorrect or invalid review comment.
174-177: All tool versions are valid. The Go version 1.25.5, Yarn 4.12, and cargo-binstall 1.16.6 are all available releases as of January 2026. No version corrections needed.
| [tasks."lint:shellcheck"] | ||
| description = "Lint shell scripts using shellcheck." | ||
| tools.shellcheck = "latest" | ||
| run = ''' | ||
| shellcheck --external-sources --source-path=SCRIPTDIR **/*.sh | ||
| ''' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enable globstar for recursive shell script matching.
The **/*.sh pattern requires bash's globstar option to expand recursively. Without it, shellcheck will only match files in the current directory, potentially missing nested scripts.
🐚 Proposed fix to enable globstar
[tasks."lint:shellcheck"]
description = "Lint shell scripts using shellcheck."
tools.shellcheck = "latest"
run = '''
+shopt -s globstar
shellcheck --external-sources --source-path=SCRIPTDIR **/*.sh
'''📝 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.
| [tasks."lint:shellcheck"] | |
| description = "Lint shell scripts using shellcheck." | |
| tools.shellcheck = "latest" | |
| run = ''' | |
| shellcheck --external-sources --source-path=SCRIPTDIR **/*.sh | |
| ''' | |
| [tasks."lint:shellcheck"] | |
| description = "Lint shell scripts using shellcheck." | |
| tools.shellcheck = "latest" | |
| run = ''' | |
| shopt -s globstar | |
| shellcheck --external-sources --source-path=SCRIPTDIR **/*.sh | |
| ''' |
🤖 Prompt for AI Agents
In @mise.toml around lines 76 - 81, The shellcheck task's run script uses the
**/*.sh glob which requires Bash's globstar option; update the
tasks."lint:shellcheck" run command to enable globstar before invoking
shellcheck (e.g., set shopt -s globstar or run bash with -O globstar) so nested
scripts are matched, or alternatively replace the glob with a find/xargs
pipeline that locates all *.sh under SCRIPTDIR and feeds them to shellcheck;
ensure you reference the existing run string and SCRIPTDIR symbol when making
the change.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted filessee 7 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)
Closes
Other information and links
Change checklist
Summary by CodeRabbit
Chores
New Features
Documentation
Bug Fixes
✏️ Tip: You can customize this high-level summary in your review settings.