Skip to content

chore(faucet): remove faucet binary#1705

Merged
jlehtimaki merged 4 commits intomainfrom
faucet-evm
Sep 15, 2025
Merged

chore(faucet): remove faucet binary#1705
jlehtimaki merged 4 commits intomainfrom
faucet-evm

Conversation

@jlehtimaki
Copy link
Contributor

I propose that we remove faucet code from wardenprotocol monorepo as the new version is now decoupled from the Wardend binary and migrated to different repository:
https://github.com/warden-protocol/faucet

The new version will be using the EVM endpoint instead of wardend binary.

@jlehtimaki jlehtimaki requested review from a team as code owners September 15, 2025 08:58
@github-actions github-actions bot added the test label Sep 15, 2025
@vercel
Copy link

vercel bot commented Sep 15, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
warden-help-center Ignored Ignored Preview Sep 15, 2025 9:10am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 15, 2025

📝 Walkthrough

Walkthrough

This PR removes the Faucet component and all associated CI/release tooling, build artifacts, server code, UI assets, tests, metrics, configuration, documentation references, and prunes related dependencies from go.mod.

Changes

Cohort / File(s) Summary
CI & Release workflows
.github/workflows/faucet.yml, .github/workflows/release-docker-images.yml, .github/workflows/wardend.yaml
Deleted the dedicated Faucet workflow; removed faucet from manual release app_name and from env.modules in wardend workflow.
Build & release targets
justfile, Makefile, wardend.just
Removed Faucet release target and removed build-faucet from .PHONY; updated documented build/install targets to exclude faucet.
Faucet service build
cmd/faucet/Dockerfile
Deleted the multi-stage Dockerfile for building and packaging the faucet image.
Faucet application code
cmd/faucet/main.go, cmd/faucet/faucet.go, cmd/faucet/metrics.go, cmd/faucet/pkg/config/config.go
Removed the Echo HTTP server, faucet business logic, Prometheus metrics, and faucet config module (types and exported functions removed).
Faucet tests
cmd/faucet/faucet_test.go
Deleted unit test(s) for faucet address conversion.
Faucet UI assets & templates
cmd/faucet/css/style.css, cmd/faucet/js/*, cmd/faucet/templates/*
Deleted all CSS, JS (circle, tx), and Go HTML templates (index, form, tokens, tx-status, tx-result, spinner, red-cross).
Dependency changes
go.mod
Pruned direct dependencies related to faucet (env, echo, prometheus, zerolog); reclassified some libs as indirect.
Docs
protocol-developer-docs/3-installation.md
Removed the Faucet section and related run/build instructions; minor formatting adjustments elsewhere.

Sequence Diagram(s)

(omitted — this change removes an entire component and its flows rather than introducing a new or modified control flow worth diagramming)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

protocol

Suggested reviewers

  • Pitasi
  • mn13
  • deiu

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title "chore(faucet): remove faucet binary" is concise and directly related to the changeset—this PR removes the faucet implementation, Dockerfile, build/release targets, templates, tests, and CI configuration. The word "binary" is slightly narrower than the full scope of deletions, but the title still clearly communicates the primary maintenance task.
Description Check ✅ Passed The PR description states the faucet has been decoupled and migrated to a separate repository and will use an EVM endpoint, which directly explains and justifies the removals shown in the changeset; it therefore relates to the changeset and provides a clear rationale.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch faucet-evm

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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
Contributor

@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: 0

🧹 Nitpick comments (2)
protocol-developer-docs/3-installation.md (1)

61-61: Add an explicit note that Faucet moved to a separate repo.

Readers expecting Faucet in compose/install may be confused. Add a short pointer to the new repo and that it’s no longer bundled.

Suggested insertion after the Docker section or at the end:

## Faucet

The Faucet has been extracted to a separate repository and is no longer bundled with this repo.
See: https://github.com/warden-protocol/faucet
Makefile (1)

9-9: Makefile: build-faucet removed; add no-op all/clean/test stubs to silence checkmake.

Confirmed: 'faucet' appears elsewhere in the repo but not in the Makefile .PHONY. Static analysis flags missing all/clean/test — add minimal no-op targets that route to help.

 help:
 	@echo "This project uses 'just' (https://github.com/casey/just) instead of 'make'."
 	@echo "Refer to the full installation instructions at https://just.systems/man/en/chapter_4.html to install 'just'."
 	@echo "  Mac OS:      brew install just"
 	@echo "  Arch Linux:  pacman -S just"

 .PHONY: build-all build install build-wardend install-wardend build-wardenkms help
+all clean test:
+	@$(MAKE) help
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 879317b and 6cc7e80.

⛔ Files ignored due to path filters (3)
  • cmd/faucet/assets/background.svg is excluded by !**/*.svg
  • cmd/faucet/images/favicon.ico is excluded by !**/*.ico
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (21)
  • .github/workflows/faucet.yml (0 hunks)
  • Makefile (1 hunks)
  • cmd/faucet/Dockerfile (0 hunks)
  • cmd/faucet/css/style.css (0 hunks)
  • cmd/faucet/faucet.go (0 hunks)
  • cmd/faucet/faucet_test.go (0 hunks)
  • cmd/faucet/js/circle.js (0 hunks)
  • cmd/faucet/js/tx.js (0 hunks)
  • cmd/faucet/main.go (0 hunks)
  • cmd/faucet/metrics.go (0 hunks)
  • cmd/faucet/pkg/config/config.go (0 hunks)
  • cmd/faucet/templates/form.html (0 hunks)
  • cmd/faucet/templates/index.html (0 hunks)
  • cmd/faucet/templates/red-cross.html (0 hunks)
  • cmd/faucet/templates/spinner.html (0 hunks)
  • cmd/faucet/templates/tokens.html (0 hunks)
  • cmd/faucet/templates/tx-result.html (0 hunks)
  • cmd/faucet/templates/tx-status.html (0 hunks)
  • go.mod (1 hunks)
  • justfile (0 hunks)
  • protocol-developer-docs/3-installation.md (1 hunks)
💤 Files with no reviewable changes (18)
  • cmd/faucet/js/circle.js
  • cmd/faucet/templates/spinner.html
  • cmd/faucet/templates/form.html
  • cmd/faucet/templates/red-cross.html
  • .github/workflows/faucet.yml
  • justfile
  • cmd/faucet/templates/tokens.html
  • cmd/faucet/templates/tx-status.html
  • cmd/faucet/Dockerfile
  • cmd/faucet/js/tx.js
  • cmd/faucet/faucet_test.go
  • cmd/faucet/templates/index.html
  • cmd/faucet/metrics.go
  • cmd/faucet/main.go
  • cmd/faucet/css/style.css
  • cmd/faucet/pkg/config/config.go
  • cmd/faucet/faucet.go
  • cmd/faucet/templates/tx-result.html
🧰 Additional context used
📓 Path-based instructions (1)
**/*.md

⚙️ CodeRabbit configuration file

**/*.md: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"

Files:

  • protocol-developer-docs/3-installation.md
🪛 checkmake (0.2.2)
Makefile

[warning] 9-9: Missing required phony target "all"

(minphony)


[warning] 9-9: Missing required phony target "clean"

(minphony)


[warning] 9-9: Missing required phony target "test"

(minphony)

⏰ 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). (1)
  • GitHub Check: test
🔇 Additional comments (2)
go.mod (2)

331-331: Keep github.com/rs/zerolog (indirect) — it's still required transitively.
go mod why shows: github.com/warden-protocol/wardenprotocol/cmd/wardend -> github.com/cosmos/cosmos-sdk/server/cmd -> github.com/rs/zerolog; leave the indirect entry in go.mod.


323-323: Verify Prometheus client is still needed as indirect.

go mod tidy in the sandbox failed due to unresolved internal module versions (github.com/warden-protocol/...), so I couldn't confirm whether github.com/prometheus/client_golang v1.23.2 // indirect is unused. Run locally and report results:

  • go mod tidy -v
  • go mod why -m github.com/prometheus/client_golang
  • go list -deps ./... | rg 'github.com/prometheus' || true
  • rg -nP 'prometheus/(client_golang|common|procfs)' -S

If those show no usage, run go mod tidy and commit the resulting go.mod/go.sum changes.

Copy link
Contributor

@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: 0

🧹 Nitpick comments (1)
wardend.just (1)

21-26: Optional: guard against invalid binary names in just targets.

Fail fast if someone passes a non-existent binary (prevents confusing errors).

Apply this diff:

 build binary="wardend":
-    go build \
+    # Validate binary path exists
+    test -d ./cmd/{{ binary }} || { echo "Unknown binary '{{ binary }}' (missing ./cmd/{{ binary }})"; exit 1; }
+    go build \
         {{ build_tags }} \
         {{ ldflags }} \
         -o {{ output_dir }}/{{ binary }} \
         ./cmd/{{ binary }}

 install binary="wardend":
-    go install \
+    # Validate binary path exists
+    test -d ./cmd/{{ binary }} || { echo "Unknown binary '{{ binary }}' (missing ./cmd/{{ binary }})"; exit 1; }
+    go install \
         {{ build_tags }} \
         {{ ldflags }} \
         ./cmd/{{ binary }}
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6cc7e80 and a6d4584.

📒 Files selected for processing (3)
  • .github/workflows/release-docker-images.yml (0 hunks)
  • .github/workflows/wardend.yaml (2 hunks)
  • wardend.just (1 hunks)
💤 Files with no reviewable changes (1)
  • .github/workflows/release-docker-images.yml
⏰ 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). (3)
  • GitHub Check: lint
  • GitHub Check: lint
  • GitHub Check: Analyze (go)
🔇 Additional comments (3)
.github/workflows/wardend.yaml (2)

68-68: Reusable workflow secrets inheritance — LGTM.

This aligns with calling ./.github/workflows/release-docker-images.yml.


25-25: ```shell
#!/bin/bash
set -euo pipefail

echo "CWD: $(pwd)"
echo
f=".github/workflows/wardend.yaml"
if [[ -f "$f" ]]; then
echo "FOUND: $f"
echo "----- file start -----"
sed -n '1,240p' "$f" || true
echo "----- file end -----"
else
echo "$f not found"
fi

echo
echo "--- Searching repo for go.sum and go.mod references ---"
rg --no-ignore -n -S --hidden 'go.sum' || echo "No go.sum mentions found."
rg --no-ignore -n -S --hidden 'go.mod' || echo "No go.mod mentions found."

echo
echo "--- Searching for 'faucet' references ---"
rg --no-ignore -n -S -C1 --hidden -g '!/.git/' -g '!/vendor/' '\b(faucet|cmd/faucet)\b' || echo "No faucet references found."


</blockquote></details>
<details>
<summary>wardend.just (1)</summary><blockquote>

`13-19`: **Removed faucet from build target docs — LGTM.**
Confirmed cmd/wardend, cmd/wardenkms, cmd/clichain exist.

</blockquote></details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@jlehtimaki jlehtimaki merged commit 5a84c45 into main Sep 15, 2025
18 of 19 checks passed
@jlehtimaki jlehtimaki deleted the faucet-evm branch September 15, 2025 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments