Skip to content

feat: add transaction plane service#1979

Open
paul-nicolas wants to merge 1 commit intomainfrom
feat/add-transaction-plane
Open

feat: add transaction plane service#1979
paul-nicolas wants to merge 1 commit intomainfrom
feat/add-transaction-plane

Conversation

@paul-nicolas
Copy link
Contributor

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 26, 2026

Walkthrough

Introduces transaction-plane component integration by adding an ignore entry in .earthlyignore and configuring a version variable and OpenAPI spec download step in Earthfile for the transaction-plane component.

Changes

Cohort / File(s) Summary
Build Configuration
.earthlyignore
Added "transaction-plane" to the ignored components list.
Build Specification
Earthfile
Added TRANSACTION_PLANE_VERSION argument (v0.2.0) and download step to fetch transaction-plane OpenAPI spec in build-final-spec target.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 Hop, hop! A new plane takes flight,
Transaction specs downloaded just right,
Version v0.2.0 now in place,
Building with speed, gaining trace! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess relevance to the changeset. Add a description explaining the purpose of adding the transaction plane service, why it's needed, and any related context or dependencies.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add transaction plane service' directly describes the main changes: adding a new TRANSACTION_PLANE_VERSION argument and downloading the transaction-plane OpenAPI spec.
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.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/add-transaction-plane

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.

@paul-nicolas paul-nicolas marked this pull request as ready for review February 26, 2026 15:48
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

🧹 Nitpick comments (1)
Earthfile (1)

38-47: Consider adding --fail flag to detect download failures.

All curl commands in this section (including the new one) lack the --fail (-f) flag. Without it, curl returns exit code 0 even on HTTP 404 errors, which would cause the build to silently continue with an error page saved as the YAML file instead of failing fast.

🔧 Example fix for all curl commands
-    RUN curl -L https://github.com/formancehq/ledger/releases/download/${LEDGER_VERSION}/openapi.yaml -o ledger.openapi.yaml
+    RUN curl -fL https://github.com/formancehq/ledger/releases/download/${LEDGER_VERSION}/openapi.yaml -o ledger.openapi.yaml

Apply similarly to all other curl commands.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Earthfile` around lines 38 - 47, The curl invocations that download OpenAPI
files (the RUN curl ... lines that reference LEDGER_VERSION, PAYMENTS_VERSION,
GATEWAY_VERSION, AUTH_VERSION, SEARCH_VERSION, WEBHOOKS_VERSION,
WALLETS_VERSION, RECONCILIATION_VERSION, ORCHESTRATION_VERSION,
TRANSACTION_PLANE_VERSION and write to *.openapi.yaml) should include the --fail
(or -f) flag so HTTP errors cause a non‑zero exit and fail the build; update
each RUN curl command to add --fail (optionally with --show-error or -S) while
keeping -L and the -o output argument.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Earthfile`:
- Line 15: The Earthfile uses ARG TRANSACTION_PLANE_VERSION=v0.2.0 which points
to a non-existent GitHub release and causes the openapi.yaml download to fail;
update the TRANSACTION_PLANE_VERSION value to a valid existing release tag or
change the download URL to the correct repository/release, or remove/guard the
download step that fetches
https://github.com/formancehq/transaction-plane/releases/download/${TRANSACTION_PLANE_VERSION}/openapi.yaml;
verify the target repository and release exist before committing and ensure the
updated TRANSACTION_PLANE_VERSION is referenced consistently wherever used.

---

Nitpick comments:
In `@Earthfile`:
- Around line 38-47: The curl invocations that download OpenAPI files (the RUN
curl ... lines that reference LEDGER_VERSION, PAYMENTS_VERSION, GATEWAY_VERSION,
AUTH_VERSION, SEARCH_VERSION, WEBHOOKS_VERSION, WALLETS_VERSION,
RECONCILIATION_VERSION, ORCHESTRATION_VERSION, TRANSACTION_PLANE_VERSION and
write to *.openapi.yaml) should include the --fail (or -f) flag so HTTP errors
cause a non‑zero exit and fail the build; update each RUN curl command to add
--fail (optionally with --show-error or -S) while keeping -L and the -o output
argument.

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 16f608f and 31e675d.

⛔ Files ignored due to path filters (3)
  • .github/labeler.yml is excluded by !**/*.yml
  • releases/base.yaml is excluded by !**/*.yaml
  • releases/openapi-merge.json is excluded by !**/*.json
📒 Files selected for processing (2)
  • .earthlyignore
  • Earthfile

ARG ORCHESTRATION_VERSION=v2.4.0
ARG RECONCILIATION_VERSION=v2.2.1
ARG GATEWAY_VERSION=v2.1.0
ARG TRANSACTION_PLANE_VERSION=v0.2.0
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that the transaction-plane v0.2.0 release exists
# Check the HTTP status of the release download URL

# Try to get the release information via GitHub API
curl -s "https://api.github.com/repos/formancehq/transaction-plane/releases/tags/v0.2.0" | head -n 50

Repository: formancehq/stack

Length of output: 206


🏁 Script executed:

#!/bin/bash
# List available releases for transaction-plane
curl -s "https://api.github.com/repos/formancehq/transaction-plane/releases" | jq '.[] | {tag_name, published_at}' | head -50

Repository: formancehq/stack

Length of output: 128


🏁 Script executed:

#!/bin/bash
# Check the raw API response for releases
curl -s "https://api.github.com/repos/formancehq/transaction-plane/releases" | head -100

Repository: formancehq/stack

Length of output: 194


🏁 Script executed:

#!/bin/bash
# Check if the repository exists at all
curl -s "https://api.github.com/repos/formancehq/transaction-plane" | head -50

Repository: formancehq/stack

Length of output: 191


🏁 Script executed:

#!/bin/bash
# Search for transaction-plane in formancehq organization
curl -s "https://api.github.com/search/repositories?q=transaction-plane+org:formancehq" | jq '.items[].full_name'

Repository: formancehq/stack

Length of output: 42


🏁 Script executed:

#!/bin/bash
# Check the Earthfile context - look for other references to understand the pattern
git ls-files | grep -i earthfile | head -5

Repository: formancehq/stack

Length of output: 86


🏁 Script executed:

#!/bin/bash
# Read the main Earthfile to understand the context
cat -n Earthfile | head -30

Repository: formancehq/stack

Length of output: 968


🏁 Script executed:

#!/bin/bash
# Search for how TRANSACTION_PLANE_VERSION is used in the codebase
rg "TRANSACTION_PLANE_VERSION" -A 2 -B 2

Repository: formancehq/stack

Length of output: 742


🏁 Script executed:

#!/bin/bash
# Search for any other references to transaction-plane in the codebase
rg "transaction-plane" -i

Repository: formancehq/stack

Length of output: 422


The transaction-plane repository does not exist on GitHub. The Earthfile references a non-existent release at line 15. The build will fail when attempting to download openapi.yaml from https://github.com/formancehq/transaction-plane/releases/download/v0.2.0/openapi.yaml. Verify that the repository has been created and the v0.2.0 release exists before merging.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Earthfile` at line 15, The Earthfile uses ARG
TRANSACTION_PLANE_VERSION=v0.2.0 which points to a non-existent GitHub release
and causes the openapi.yaml download to fail; update the
TRANSACTION_PLANE_VERSION value to a valid existing release tag or change the
download URL to the correct repository/release, or remove/guard the download
step that fetches
https://github.com/formancehq/transaction-plane/releases/download/${TRANSACTION_PLANE_VERSION}/openapi.yaml;
verify the target repository and release exist before committing and ensure the
updated TRANSACTION_PLANE_VERSION is referenced consistently wherever used.

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.

1 participant