Skip to content

chore(ci): migrate from Shipfox to Namespace.so runners#75

Open
flemzord wants to merge 3 commits intomainfrom
chore/migrate-ci-shipfox-to-namespace
Open

chore(ci): migrate from Shipfox to Namespace.so runners#75
flemzord wants to merge 3 commits intomainfrom
chore/migrate-ci-shipfox-to-namespace

Conversation

@flemzord
Copy link
Copy Markdown
Member

@flemzord flemzord commented May 5, 2026

Summary

Migrate CI runners from Shipfox to Namespace.so as part of the org-wide CI infrastructure migration.

Per-workflow changes

  • runs-on: shipfox-Xvcpu-ubuntu-2404runs-on: namespace-profile-linux-amd64-Xvcpu
  • actions/checkout@v6namespacelabs/nscloud-checkout-action@v7 (git mirror caching)
  • docker/setup-qemu-action removed (Namespace builds AMD64+ARM64 natively)
  • docker/setup-buildx-actionnamespacelabs/nscloud-setup-buildx-action@v0

Composite changes

  • .github/actions/default/action.yml — Pattern A migrated: nix-community/cache-nix-action@v7 removed (incompatible with Namespace), actions/cache@v5namespacelabs/nscloud-cache-action@v1
  • .github/actions/docker/action.ymldocker/setup-qemu-action removed, docker/setup-buildx-actionnamespacelabs/nscloud-setup-buildx-action@v0

flake.nix fix (commit 2)

The previously pinned x86_64-linux hash for speakeasy v1.761.4 was masked by Shipfox's Nix store cache. On Namespace (cold cache), the actual upstream binary hash mismatched. Updated to the correct hash returned by github.com/speakeasy-api/speakeasy@v1.761.4.

Pre-existing drift surfaced by this PR (out of scope)

The Dirty job runs just pre-commit which regenerates the Speakeasy SDK then asserts no diff. With Namespace's cold Nix cache, speakeasy v1.761.4 actually executes (vs presumably a stale cached v1.690.0 binary on Shipfox), producing a regenerated SDK that diverges from the committed code.

Files showing drift:

  • openapi/{build.yaml, flows/openapi.yaml, payments/openapi.yaml, generate.json} — upstream openapi specs are re-downloaded
  • pkg/stack/.speakeasy/gen.lock
  • pkg/stack/pkg/models/shared/*.go (multiple)
  • pkg/stack/docs/**/*.md (multiple)

Fixing this drift requires:

  • A SPEAKEASY_API_KEY to regenerate
  • A repo maintainer decision on whether to pin upstream openapi specs or regenerate the SDK from current upstream state

This is unrelated to the Shipfox→Namespace migration and out of scope.

Test plan

  • Workflows + composites migrated
  • flake.nix speakeasy hash matches actual upstream binary
  • SDK regeneration drift — needs maintainer fix in a follow-up PR

@flemzord flemzord requested a review from a team as a code owner May 5, 2026 07:44
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 5, 2026

Warning

Rate limit exceeded

@Dav-14 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 1 minute and 3 seconds before requesting another review.

To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 583a681f-b2c0-4d0e-8ce4-d964a8e52641

📥 Commits

Reviewing files that changed from the base of the PR and between 84f16d0 and dcecab6.

⛔ Files ignored due to path filters (5)
  • openapi/build.yaml is excluded by !**/*.yaml
  • openapi/flows/openapi.yaml is excluded by !**/*.yaml
  • openapi/generate.json is excluded by !**/*.json
  • openapi/payments/openapi.yaml is excluded by !**/*.yaml
  • pkg/stack/.speakeasy/gen.lock is excluded by !**/*.lock, !**/*.lock
📒 Files selected for processing (74)
  • pkg/stack/README.md
  • pkg/stack/docs/pkg/models/operations/v3getconversionrequest.md
  • pkg/stack/docs/pkg/models/operations/v3getconversionresponse.md
  • pkg/stack/docs/pkg/models/operations/v3getorderrequest.md
  • pkg/stack/docs/pkg/models/operations/v3getorderresponse.md
  • pkg/stack/docs/pkg/models/operations/v3listconversionsrequest.md
  • pkg/stack/docs/pkg/models/operations/v3listconversionsresponse.md
  • pkg/stack/docs/pkg/models/operations/v3listordersrequest.md
  • pkg/stack/docs/pkg/models/operations/v3listordersresponse.md
  • pkg/stack/docs/pkg/models/shared/activitycreatetransferinitiation.md
  • pkg/stack/docs/pkg/models/shared/activitystripetransfer.md
  • pkg/stack/docs/pkg/models/shared/activitystripetransfermetadata.md
  • pkg/stack/docs/pkg/models/shared/log.md
  • pkg/stack/docs/pkg/models/shared/logtype.md
  • pkg/stack/docs/pkg/models/shared/metadata.md
  • pkg/stack/docs/pkg/models/shared/stagesenddestinationaccount.md
  • pkg/stack/docs/pkg/models/shared/stagesenddestinationpayment.md
  • pkg/stack/docs/pkg/models/shared/stagesenddestinationpaymenttype.md
  • pkg/stack/docs/pkg/models/shared/stagesendsourcepayment.md
  • pkg/stack/docs/pkg/models/shared/type.md
  • pkg/stack/docs/pkg/models/shared/v2activitycreatetransferinitiation.md
  • pkg/stack/docs/pkg/models/shared/v2activitycreatetransferinitiationmetadata.md
  • pkg/stack/docs/pkg/models/shared/v2activitycreatetransferinitiationtype.md
  • pkg/stack/docs/pkg/models/shared/v2stagesenddestinationaccount.md
  • pkg/stack/docs/pkg/models/shared/v2stagesenddestinationpayment.md
  • pkg/stack/docs/pkg/models/shared/v2stagesenddestinationpaymenttype.md
  • pkg/stack/docs/pkg/models/shared/v2stagesendsourcepayment.md
  • pkg/stack/docs/pkg/models/shared/v2workflowinstancehistorystageinput.md
  • pkg/stack/docs/pkg/models/shared/v3conversion.md
  • pkg/stack/docs/pkg/models/shared/v3conversionscursorresponse.md
  • pkg/stack/docs/pkg/models/shared/v3conversionscursorresponsecursor.md
  • pkg/stack/docs/pkg/models/shared/v3conversionstatusenum.md
  • pkg/stack/docs/pkg/models/shared/v3getconversionresponse.md
  • pkg/stack/docs/pkg/models/shared/v3getorderresponse.md
  • pkg/stack/docs/pkg/models/shared/v3order.md
  • pkg/stack/docs/pkg/models/shared/v3orderadjustment.md
  • pkg/stack/docs/pkg/models/shared/v3orderadjustmentraw.md
  • pkg/stack/docs/pkg/models/shared/v3orderdirectionenum.md
  • pkg/stack/docs/pkg/models/shared/v3orderscursorresponse.md
  • pkg/stack/docs/pkg/models/shared/v3orderscursorresponsecursor.md
  • pkg/stack/docs/pkg/models/shared/v3orderstatusenum.md
  • pkg/stack/docs/pkg/models/shared/v3ordertypeenum.md
  • pkg/stack/docs/pkg/models/shared/v3timeinforceenum.md
  • pkg/stack/docs/pkg/models/shared/workflowinstancehistorystageinput.md
  • pkg/stack/docs/sdks/v3/README.md
  • pkg/stack/pkg/models/operations/v3getconversion.go
  • pkg/stack/pkg/models/operations/v3getorder.go
  • pkg/stack/pkg/models/operations/v3listconversions.go
  • pkg/stack/pkg/models/operations/v3listorders.go
  • pkg/stack/pkg/models/shared/activitycreatetransferinitiation.go
  • pkg/stack/pkg/models/shared/activitystripetransfer.go
  • pkg/stack/pkg/models/shared/log.go
  • pkg/stack/pkg/models/shared/stagesenddestinationaccount.go
  • pkg/stack/pkg/models/shared/stagesenddestinationpayment.go
  • pkg/stack/pkg/models/shared/stagesendsourcepayment.go
  • pkg/stack/pkg/models/shared/v2activitycreatetransferinitiation.go
  • pkg/stack/pkg/models/shared/v2stagesenddestinationaccount.go
  • pkg/stack/pkg/models/shared/v2stagesenddestinationpayment.go
  • pkg/stack/pkg/models/shared/v2stagesendsourcepayment.go
  • pkg/stack/pkg/models/shared/v2workflowinstancehistorystageinput.go
  • pkg/stack/pkg/models/shared/v3conversion.go
  • pkg/stack/pkg/models/shared/v3conversionscursorresponse.go
  • pkg/stack/pkg/models/shared/v3conversionstatusenum.go
  • pkg/stack/pkg/models/shared/v3getconversionresponse.go
  • pkg/stack/pkg/models/shared/v3getorderresponse.go
  • pkg/stack/pkg/models/shared/v3order.go
  • pkg/stack/pkg/models/shared/v3orderadjustment.go
  • pkg/stack/pkg/models/shared/v3orderdirectionenum.go
  • pkg/stack/pkg/models/shared/v3orderscursorresponse.go
  • pkg/stack/pkg/models/shared/v3orderstatusenum.go
  • pkg/stack/pkg/models/shared/v3ordertypeenum.go
  • pkg/stack/pkg/models/shared/v3timeinforceenum.go
  • pkg/stack/pkg/models/shared/workflowinstancehistorystageinput.go
  • pkg/stack/v3.go

Walkthrough

Updated the x86_64-linux sha256 checksum for the speakeasy artifact in the Nix flake configuration. The new hash value is pinned so that pkgs.fetchurl can verify the downloaded release artifact against the updated checksum during builds.

Changes

Artifact Hash Update

Layer / File(s) Summary
Hash Configuration
flake.nix
speakeasyHashes updates the x86_64-linux sha256 value to a new checksum for artifact verification.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

🐰 A hash once old, now fresh and bright,
The speakeasy verified just right—
One line of truth in Nix we trust,
Checksums pinned, as they all must! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title describes a CI infrastructure migration from Shipfox to Namespace.so, but the raw_summary shows only a flake.nix hash update unrelated to runner migration. The title should match the primary changeset. If the main change is the speakeasy hash update, retitle to reflect that. If runner migration is primary, include the flake.nix hash update context.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description check ✅ Passed The PR description comprehensively explains the CI infrastructure migration from Shipfox to Namespace.so, the flake.nix hash fix, and pre-existing drift issues, directly matching the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/migrate-ci-shipfox-to-namespace

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.

Dav-14
Dav-14 previously approved these changes May 5, 2026
@Dav-14 Dav-14 enabled auto-merge May 5, 2026 07:45
The previously pinned hash was masked by Shipfox's Nix store cache and
broke when CI moved to Namespace runners (cold Nix store). Updating to
the actual hash returned by github.com/speakeasy-api/speakeasy@v1.761.4.
Copy link
Copy Markdown

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
flake.nix (2)

70-75: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove debug ls -al from installPhase.

This will emit a directory listing on every nix build, adding noise to build logs.

🧹 Proposed fix
   installPhase = ''
     mkdir -p $out/bin
     unzip $src
-    ls -al
     install -m755 speakeasy $out/bin/
   '';
🤖 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 `@flake.nix` around lines 70 - 75, The installPhase currently contains a debug
command "ls -al" that pollutes build logs; remove that line from the
installPhase block so only the necessary steps remain (mkdir -p $out/bin, unzip
$src, and install -m755 speakeasy $out/bin/), ensuring the installPhase no
longer emits a directory listing during nix build.

73-73: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove debug ls -al from installPhase.

This emits a directory listing on every nix build, cluttering build logs with no functional value.

🧹 Proposed fix
   installPhase = ''
     mkdir -p $out/bin
     unzip $src
-    ls -al
     install -m755 speakeasy $out/bin/
   '';
🤖 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 `@flake.nix` at line 73, Remove the debug directory listing from the
installPhase by deleting the stray "ls -al" command so it no longer prints on
every nix build; locate the installPhase block in flake.nix and remove the line
containing ls -al (no replacement needed).
🤖 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 `@flake.nix`:
- Line 44: The flake.nix currently pins a non-existent release v1.761.4 (the
listed SHA256 6a2d9a237bc4d7725c850bc85c1e85eb784924c64d0f2768350a0ede406f6c9b
is invalid); update the pinned version to an actual speakeasy-api release (e.g.,
v1.761.8 or v1.761.1) and then recalculate and replace the corresponding SHA-256
for the "x86_64-linux" entry. Locate the version pin and the "x86_64-linux" SHA
entry in flake.nix, change the version string to a released tag, fetch the
artifact (or run nix-prefetch-url/nix build) to obtain the correct hash, and
update the hash value accordingly so the flake validates.
- Line 44: The flake pins an incorrect speakeasyVersion ("1.761.4") that doesn't
exist; change speakeasyVersion to a valid release tag (e.g., "1.761.1" or
"1.761.8") and update the corresponding download URL/checksum to match that real
release so the fetch will succeed (look for the speakeasyVersion variable and
the download URL construction in the flake), remove the debug command `ls -al`
(the stray debug artifact) and delete the redundant `name = "speakeasy"` field
(since pname/version already provide it) to clean up the package definition.

---

Outside diff comments:
In `@flake.nix`:
- Around line 70-75: The installPhase currently contains a debug command "ls
-al" that pollutes build logs; remove that line from the installPhase block so
only the necessary steps remain (mkdir -p $out/bin, unzip $src, and install
-m755 speakeasy $out/bin/), ensuring the installPhase no longer emits a
directory listing during nix build.
- Line 73: Remove the debug directory listing from the installPhase by deleting
the stray "ls -al" command so it no longer prints on every nix build; locate the
installPhase block in flake.nix and remove the line containing ls -al (no
replacement needed).
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bf23b634-f4d1-40f8-84c1-c91e9fa1df20

📥 Commits

Reviewing files that changed from the base of the PR and between 28a1ca4 and 84f16d0.

⛔ Files ignored due to path filters (4)
  • .github/actions/default/action.yml is excluded by !**/*.yml
  • .github/actions/docker/action.yml is excluded by !**/*.yml
  • .github/workflows/main.yml is excluded by !**/*.yml
  • .github/workflows/release.yml is excluded by !**/*.yml
📒 Files selected for processing (1)
  • flake.nix

Comment thread flake.nix
};
speakeasyHashes = {
"x86_64-linux" = "4419bff16df35eef8f1460de51d28f22b1ba8cd74cc0fce55e5252e8c6801fe9";
"x86_64-linux" = "6a2d9a237bc4d7725c850bc85c1e85eb784924c64d0f2768350a0ede406f6c9b";
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Fetch and hash the artifact the same way Nix would (sha256, base16).
nix-prefetch-url \
  "https://github.com/speakeasy-api/speakeasy/releases/download/v1.761.4/speakeasy_linux_amd64.zip" \
  --type sha256

Repository: formancehq/terraform-provider-stack

Length of output: 136


🌐 Web query:

speakeasy v1.761.4 release speakeasy_linux_amd64.zip github

💡 Result:

I could not find a Speakeasy CLI GitHub release tag v1.761.4 (and therefore no speakeasy_linux_amd64.zip asset for that exact version) in the official speakeasy-api/speakeasy repository releases/tags pages I located. The closest nearby published releases visible are v1.761.1 and v1.761.8, and the tags list shown includes v1.761.1, v1.761.0, v1.760.0, etc., but not v1.761.4 [1][2][3]. What I can confirm from official sources: - The repository is speakeasy-api/speakeasy releases on GitHub [1]. - Assets for release v1.761.8 include speakeasy_linux_amd64.zip [4]. If you meant a different version (e.g., v1.761.8) or a different repository/name (there is also an unrelated “mandiant/speakeasy” project on GitHub), tell me the exact intended version and I can fetch the corresponding speakeasy_linux_amd64.zip URL/asset details [5].

Citations:


🏁 Script executed:

#!/bin/bash
# Attempt to download and verify the hash using curl and standard tools
RELEASE_URL="https://github.com/speakeasy-api/speakeasy/releases/download/v1.761.4/speakeasy_linux_amd64.zip"
EXPECTED_HASH="6a2d9a237bc4d7725c850bc85c1e85eb784924c64d0f2768350a0ede406f6c9b"

# Try to download the file with a small timeout and get its hash
echo "Attempting to download and verify hash..."
if timeout 30 curl -L -o /tmp/speakeasy_linux_amd64.zip "$RELEASE_URL" 2>/dev/null; then
  ACTUAL_HASH=$(sha256sum /tmp/speakeasy_linux_amd64.zip | awk '{print $1}')
  echo "Expected hash: $EXPECTED_HASH"
  echo "Actual hash:   $ACTUAL_HASH"
  if [ "$ACTUAL_HASH" = "$EXPECTED_HASH" ]; then
    echo "✓ Hash verification PASSED"
  else
    echo "✗ Hash verification FAILED"
  fi
  rm -f /tmp/speakeasy_linux_amd64.zip
else
  echo "Could not download the artifact"
fi

Repository: formancehq/terraform-provider-stack

Length of output: 153


The version v1.761.4 does not exist in the speakeasy-api/speakeasy releases. Update to an actual release (nearest available are v1.761.1 or v1.761.8) and verify the corresponding SHA-256 hash against that version's artifact. The hash 6a2d9a237bc4d7725c850bc85c1e85eb784924c64d0f2768350a0ede406f6c9b cannot be validated because the pinned version has never been released.

🤖 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 `@flake.nix` at line 44, The flake.nix currently pins a non-existent release
v1.761.4 (the listed SHA256
6a2d9a237bc4d7725c850bc85c1e85eb784924c64d0f2768350a0ede406f6c9b is invalid);
update the pinned version to an actual speakeasy-api release (e.g., v1.761.8 or
v1.761.1) and then recalculate and replace the corresponding SHA-256 for the
"x86_64-linux" entry. Locate the version pin and the "x86_64-linux" SHA entry in
flake.nix, change the version string to a released tag, fetch the artifact (or
run nix-prefetch-url/nix build) to obtain the correct hash, and update the hash
value accordingly so the flake validates.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

speakeasy-api/speakeasy v1.761.4 release sha256 speakeasy_linux_amd64.zip

💡 Result:

I couldn’t find a published release tag for speakeasy-api/speakeasy v1.761.4 (and therefore can’t retrieve the sha256 for speakeasy_linux_amd64.zip) from the official GitHub releases pages via the searches I ran. The closest nearby official tags I found were v1.761.1 and v1.761.8, each of which provides a checksums.txt asset, but neither corresponds to v1.761.4. [1][2][3] If you can share the exact GitHub release URL for v1.761.4 (or confirm the version you meant), I can fetch the correct checksums entry for speakeasy_linux_amd64.zip and report the sha256. [1]

Citations:


🏁 Script executed:

# First, let's examine the flake.nix file to confirm the speakeasy version
git ls-files | grep -i flake

Repository: formancehq/terraform-provider-stack

Length of output: 100


🌐 Web query:

site:github.com/speakeasy-api/speakeasy/releases v1.761.4

💡 Result:

I couldn’t find any authoritative source for a “v1.761.4” release/tag in the speakeasy-api/speakeasy GitHub releases. The closest versions I can see around that range are v1.761.1 (published 2026-04-02) and v1.761.8 (published 2026-04-17), and the repository release list does not surface a v1.761.4 entry in the available results I retrieved.[1][2][3] If you meant a different project (or a different “v1.761.4” scheme, e.g., a dependency version rather than the tool’s release tag), tell me the exact product name or link, and I can re-run the research for that specific artifact.

Citations:


🏁 Script executed:

cat -n flake.nix | head -80

Repository: formancehq/terraform-provider-stack

Length of output: 3010


Cannot verify hash: the release tag v1.761.4 does not exist on GitHub.

The PR pins speakeasyVersion = "1.761.4" (line 36) and updates hashes to match that version, but a web search of the speakeasy-api/speakeasy releases found no v1.761.4 tag. The nearest published releases are v1.761.1 (2026-04-02) and v1.761.8 (2026-04-17). The download URL on line 63 will fail because the release artifact does not exist.

Confirm the intended speakeasy version: either correct the version in flake.nix to an actual release tag, or verify that v1.761.4 is available under a different location.

Also remove the debug artifact ls -al on line 73 and the redundant name = "speakeasy" on line 77 (already provided by pname + version).

🤖 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 `@flake.nix` at line 44, The flake pins an incorrect speakeasyVersion
("1.761.4") that doesn't exist; change speakeasyVersion to a valid release tag
(e.g., "1.761.1" or "1.761.8") and update the corresponding download
URL/checksum to match that real release so the fetch will succeed (look for the
speakeasyVersion variable and the download URL construction in the flake),
remove the debug command `ls -al` (the stray debug artifact) and delete the
redundant `name = "speakeasy"` field (since pname/version already provide it) to
clean up the package definition.

Dav-14
Dav-14 previously approved these changes May 5, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.12%. Comparing base (af6d09e) to head (84f16d0).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #75      +/-   ##
==========================================
+ Coverage   62.71%   63.12%   +0.40%     
==========================================
  Files          21       21              
  Lines        1542     1532      -10     
==========================================
  Hits          967      967              
+ Misses        424      415       -9     
+ Partials      151      150       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

NumaryBot
NumaryBot previously approved these changes May 5, 2026
…nd flows through-account fields

Pulls in upstream OpenAPI changes:
- payments: new v3 List/Get Orders and Conversions endpoints
- flows: new throughAccount, allowOverdraft, holdingAccount fields on stage send source/destination

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Dav-14 Dav-14 dismissed stale reviews from NumaryBot and themself via dcecab6 May 5, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants