Skip to content

Installs reth - #44

Open
kenorb wants to merge 2 commits into
masterfrom
dev-reth
Open

Installs reth#44
kenorb wants to merge 2 commits into
masterfrom
dev-reth

Conversation

@kenorb

@kenorb kenorb commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary by Sourcery

New Features:

  • Support installing the reth Ethereum client through the eget-based tooling and configuration.

@sourcery-ai

sourcery-ai Bot commented Jul 26, 2026

Copy link
Copy Markdown

🧙 Sourcery has finished reviewing your pull request!


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

Tar alias updates

Layer / File(s) Summary
Tar compression aliases
.aliasesrc
Renames the zstd aliases to tar-zs and tar-zs-rm, and adds tar-lz4 using -I lz4.

Reth package installation

Layer / File(s) Summary
Reth package wiring
.ansible/playbooks/tasks/eget.yml, .ansible/variables-example.yml
Adds architecture-aware Reth download mapping with signature handling and includes reth in the example package list.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • kenorb/dotfiles#32: Adds another eget_package_map and eget_packages entry in the same Ansible configuration.
  • kenorb/dotfiles#38: Updates the same Ansible package wiring for additional Ethereum-node packages.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding support for installing reth.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev-reth

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.

@github-actions github-actions Bot added the check-error Workflow reported errors label Jul 26, 2026
@github-actions

Copy link
Copy Markdown

⛔ Workflow Failures Detected

The following job errors and annotations were found:

  • Check / check / Pre-commit at .github:86: Process completed with exit code 1.
  • Check / check / Pre-commit at .ansible/variables-example.yml:173: Line too long (125 > 120 characters)
  • Check / check / Pre-commit at .ansible/playbooks/tasks/eget.yml:104: Line too long (122 > 120 characters)
  • Check / check / Pre-commit at .ansible/playbooks/tasks/eget.yml:104: 104:121 [line-length] line too long (122 > 120 characters)
  • Check / check / Pre-commit at .ansible/variables-example.yml:173: 173:121 [line-length] line too long (125 > 120 characters)

🛠️ Run Links

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The reth asset selector mixes a custom arm64 mapping with eget_arch; consider aligning this with the existing eget_plain_arch/arch-handling patterns used for other packages to keep architecture selection consistent and easier to maintain.
  • The reth configuration string is a bit dense; extracting the architecture-specific tarball pattern into a reusable variable or clearly separating the signature asset selector (-a ^.asc) would improve readability for future updates.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The reth asset selector mixes a custom arm64 mapping with `eget_arch`; consider aligning this with the existing `eget_plain_arch`/arch-handling patterns used for other packages to keep architecture selection consistent and easier to maintain.
- The reth configuration string is a bit dense; extracting the architecture-specific tarball pattern into a reusable variable or clearly separating the signature asset selector (`-a ^.asc`) would improve readability for future updates.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.ansible/playbooks/tasks/eget.yml:
- Line 104: Resolve the YAML line-length violations: in
.ansible/playbooks/tasks/eget.yml lines 104-104, split the reth mapping using a
folded scalar while preserving its value; in .ansible/variables-example.yml
lines 173-173, move the description to a separate comment or shorten it so both
lines remain within 120 characters.
- Line 104: Update the Reth package configuration in the `reth` entry to
explicitly fail when `eget_arch` is `arm`, rather than constructing the
unsupported `arm-unknown-linux-gnu` archive name; preserve the existing x86_64
and aarch64 mapping behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1a6ba7a2-752c-434a-92b4-dad5b08a6f3c

📥 Commits

Reviewing files that changed from the base of the PR and between 0cb8c96 and d63a407.

📒 Files selected for processing (3)
  • .aliasesrc
  • .ansible/playbooks/tasks/eget.yml
  • .ansible/variables-example.yml

pandoc: "-a linux-{{ 'amd64' if eget_arch == 'x86_64' else 'arm64' }}.tar.gz jgm/pandoc"
pearld: "--tag pearl-wallet-v1.0.0 -a .tar.gz --file pearld --to pearld pearl-research-labs/pearl"
prlctl: "--tag pearl-wallet-v1.0.0 -a .tar.gz --file prlctl --to prlctl pearl-research-labs/pearl"
reth: "-a {{ 'aarch64' if eget_arch == 'arm64' else eget_arch }}-unknown-linux-gnu.tar.gz -a ^.asc paradigmxyz/reth"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Resolve the YAML line-length failures before merge.

Both changed lines exceed the enforced 120-character limit and currently fail pre-commit.

  • .ansible/playbooks/tasks/eget.yml#L104-L104: split the Reth mapping with a folded scalar.
  • .ansible/variables-example.yml#L173-L173: move the description to a separate comment or shorten it.
🧰 Tools
🪛 GitHub Actions: Check / 0_check _ Pre-commit.txt

[error] 104-104: ansible-lint (yaml[line-length]) failed: Line too long (122 > 120 characters).

🪛 GitHub Actions: Check / check _ Pre-commit

[warning] 104-104: ansible-lint (yaml[line-length]) Line too long (122 > 120 characters).

🪛 GitHub Check: check / Pre-commit

[failure] 104-104: yaml[line-length]
Line too long (122 > 120 characters)


[warning] 104-104:
104:121 [line-length] line too long (122 > 120 characters)

📍 Affects 2 files
  • .ansible/playbooks/tasks/eget.yml#L104-L104 (this comment)
  • .ansible/variables-example.yml#L173-L173
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.ansible/playbooks/tasks/eget.yml at line 104, Resolve the YAML line-length
violations: in .ansible/playbooks/tasks/eget.yml lines 104-104, split the reth
mapping using a folded scalar while preserving its value; in
.ansible/variables-example.yml lines 173-173, move the description to a separate
comment or shorten it so both lines remain within 120 characters.

Sources: Linters/SAST tools, Pipeline failures


🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locates file =="
git ls-files '.ansible/playbooks/tasks/eget.yml' || true

echo "== relevant lines =="
if [ -f '.ansible/playbooks/tasks/eget.yml' ]; then
  nl -ba .ansible/playbooks/tasks/eget.yml | sed -n '80,120p'
fi

echo "== eget_arch / reth references =="
rg -n "eget_arch|reth|arm-unknown-linux-gnu|x86_64|aarch64|arm64" .ansible || true

echo "== playbook/task context around package list/defaults =="
rg -n "packages|example|pkg|install|reth|arch" .ansible/playbooks -S || true

Repository: kenorb/dotfiles

Length of output: 267


🌐 Web query:

paradigmxyz reth GitHub releases ARM Linux x86_64 aarch64 assets

💡 Result:

The paradigmxyz/reth project provides pre-built binaries for its releases on GitHub, which include assets for both Linux (x86_64 and aarch64) and macOS (aarch64) [1][2]. As of the latest releases (e.g., v2.4.1), the following Linux assets are typically provided in the GitHub release attachments: x86_64: reth-v-x86_64-unknown-linux-gnu.tar.gz [1][2] aarch64: reth-v-aarch64-unknown-linux-gnu.tar.gz [1][2] Each binary archive is accompanied by a PGP signature file (with a.asc extension) to verify its authenticity [1][2]. The project also publishes container images via the GitHub Container Registry (ghcr.io/paradigmxyz/reth) as an alternative to downloading static binaries [1][2]. Users should refer to the official documentation at reth.rs/installation/binaries for detailed instructions on verification and installation [1][2]. Note that Windows support was removed in earlier versions [3].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== relevant lines =="
awk '{printf "%6d  %s\n", NR, $0}' .ansible/playbooks/tasks/eget.yml | sed -n '80,120p'

echo "== line 104 character count and content =="
awk 'NR==104 {printf "%d chars: %s\n", length($0), $0}' .ansible/playbooks/tasks/eget.yml

echo "== eget_arch / reth references =="
grep -RInE "eget_arch|reth|arm-unknown-linux-gnu|x86_64|aarch64|arm64" .ansible || true

echo "== playbook/task context around package list/defaults =="
grep -RInE "packages|example|package|install|reth|arch" .ansible/playbooks || true

Repository: kenorb/dotfiles

Length of output: 17413


Fail when installing Reth on 32-bit ARM.

reth is included in the default package list, and this mapping falls back to arm-unknown-linux-gnu.tar.gz for 32-bit ARM, but Reth releases provide Linux binaries only for x86_64 and aarch64. Fail explicitly when reth is requested with eget_arch == 'arm', or omit it from that architecture’s package set.

🧰 Tools
🪛 GitHub Actions: Check / 0_check _ Pre-commit.txt

[error] 104-104: ansible-lint (yaml[line-length]) failed: Line too long (122 > 120 characters).

🪛 GitHub Actions: Check / check _ Pre-commit

[warning] 104-104: ansible-lint (yaml[line-length]) Line too long (122 > 120 characters).

🪛 GitHub Check: check / Pre-commit

[failure] 104-104: yaml[line-length]
Line too long (122 > 120 characters)


[warning] 104-104:
104:121 [line-length] line too long (122 > 120 characters)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.ansible/playbooks/tasks/eget.yml at line 104, Update the Reth package
configuration in the `reth` entry to explicitly fail when `eget_arch` is `arm`,
rather than constructing the unsupported `arm-unknown-linux-gnu` archive name;
preserve the existing x86_64 and aarch64 mapping behavior.

Source: MCP tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

check-error Workflow reported errors

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant