Skip to content

Conversation

@louisinger
Copy link
Contributor

@louisinger louisinger commented Nov 6, 2025

@Kukks @altafan please review

Summary by CodeRabbit

  • Chores
    • Added support for running the application on the mutinynet network.
    • Enabled local development with multiple instance configurations (additional environment profiles).
    • Streamlined environment setup and reuse to make switching between deployment scenarios easier.
    • Added a dedicated run target for the mutinynet profile to simplify local startup.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 6, 2025

📝 Walkthrough

Walkthrough

Adds three environment files (dev, dev.2, mutinynet) and refactors the Makefile to add a reusable setup_env macro plus new PHONY targets run-mutinynet and run-2, replacing per-target inline environment exports with calls to the macro.

Changes

Cohort / File(s) Summary
Makefile configuration and targets
Makefile
Adds setup_env macro to load/export environment from a file; replaces per-target inline exports with $(call setup_env, <env-file>); adds new PHONY targets run-mutinynet and run-2; keeps existing build/run flow.
Environment configuration files (dev / dev-2 / mutinynet)
envs/dev.env, envs/dev.2.env, envs/mutinynet.env
Adds three env files defining Fulmine runtime settings (FULMINE_DATADIR, FULMINE_NO_MACAROONS, FULMINE_LOG_LEVEL, FULMINE_SCHEDULER_POLL_INTERVAL, FULMINE_DISABLE_TELEMETRY, FULMINE_SWAP_TIMEOUT, Boltz URLs/WS URLs); dev.2 includes alternate datadir and explicit gRPC/HTTP ports; mutinynet points Boltz to mutinynet endpoints.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🐰 A tiny hop, a tidy make,
Envs sprout up for each new lake,
A macro stitched to set the scene,
Dev, dev-2, mutiny—running clean!

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'chore: envs setup' is vague and generic. It doesn't clearly convey the specific changes: adding environment configuration files and refactoring the Makefile with a reusable setup_env macro. Consider a more specific title like 'chore: add environment configurations and refactor Makefile setup' or 'chore: introduce dev, dev.2, and mutinynet environment configs with Makefile macro'.
✅ 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.


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: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4149af6 and 1d92678.

📒 Files selected for processing (4)
  • Makefile (2 hunks)
  • envs/dev.2.env (1 hunks)
  • envs/dev.env (1 hunks)
  • envs/mutinynet.env (1 hunks)
🧰 Additional context used
🪛 checkmake (0.2.2)
Makefile

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

(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). (2)
  • GitHub Check: unit tests
  • GitHub Check: integration tests
🔇 Additional comments (6)
envs/mutinynet.env (1)

1-8: LGTM! Mutinynet configuration looks good.

The environment variables are appropriately configured for the mutinynet environment with secure endpoints (HTTPS/WSS) and reasonable defaults for polling intervals and timeouts.

envs/dev.2.env (1)

1-10: LGTM! Secondary dev environment properly configured.

The configuration correctly uses a separate datadir (./datadir-2) and explicit ports (7008, 7009) to enable running a second development instance alongside the primary one without conflicts.

Makefile (3)

1-1: PHONY targets updated correctly.

The new targets run-mutinynet and run-2 are properly declared as phony targets.

Note: The static analysis tool flags a missing "all" target, but this is an optional convention, not a requirement.


53-55: Run target refactored correctly.

The migration from inline environment exports to the setup_env macro improves consistency and maintainability. Ensure the macro implementation issues are addressed.


57-63: New targets configured correctly.

Both run-2 and run-mutinynet targets follow the same pattern as the refactored run target and correctly reference their respective environment files. The new run-mutinynet target provides a convenient way to test against the mutinynet environment.

envs/dev.env (1)

1-8: The dev.env configuration is correct and intentional—no port conflicts occur.

The application defines default ports in internal/config/config.go: defaultGRPCPort = 7000 and defaultHTTPPort = 7001. The dev.env file intentionally omits FULMINE_GRPC_PORT and FULMINE_HTTP_PORT to use these defaults. Since dev.2.env explicitly sets ports 7008 and 7009, all four ports (7000, 7001, 7008, 7009) are distinct and there is no conflict when both instances run simultaneously.

Likely an incorrect or invalid review comment.

@aruokhai aruokhai added the enhancement New feature or request label Nov 6, 2025
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)
Makefile (1)

57-63: Add documentation comments for consistency.

The new targets run-2 and run-mutinynet are missing ## documentation comments, while most other targets in the Makefile include them (e.g., lines 17, 22, 27, etc.). Adding these comments improves discoverability via make help.

📝 Suggested documentation additions
+## run-2: run in dev mode with alternative configuration
 run-2: clean build-static-assets
 	$(call setup_env, envs/dev.2.env)
 	go run ./cmd/fulmine
 
+## run-mutinynet: run in mutinynet environment
 run-mutinynet: clean build-static-assets
 	$(call setup_env, envs/mutinynet.env)
 	go run ./cmd/fulmine
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1d92678 and 8d03858.

📒 Files selected for processing (1)
  • Makefile
🧰 Additional context used
🪛 checkmake (0.2.2)
Makefile

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

(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). (2)
  • GitHub Check: unit tests
  • GitHub Check: integration tests
🔇 Additional comments (2)
Makefile (2)

1-1: LGTM: PHONY targets correctly declared.

The new targets run-mutinynet and run-2 are properly added to the .PHONY declaration, following Makefile conventions for non-file targets.


54-54: Consistent use of setup_env macro.

The run target correctly uses the new setup_env macro to load environment variables from envs/dev.env, maintaining consistency with the other run targets.

@altafan altafan merged commit f5be907 into ArkLabsHQ:master Jan 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants