Skip to content

fix: use 'arkd' container name to match existing branches - #513

Merged
Kukks merged 6 commits into
masterfrom
fix/arkd-container-name
Apr 7, 2026
Merged

Kukks merged 6 commits into
masterfrom
fix/arkd-container-name

Conversation

@Kukks

@Kukks Kukks commented Apr 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fixes all open PRs broken by #492 (arkade-regtest submodule merge).

Root causes

  1. Container name mismatch: arkade-regtest used container_name: ark, but all existing branches use docker exec -t arkd (the original nigiri name)
  2. arkd init failure: The arkd v0.9.1 binary has no init subcommand — wallet setup is already handled via the admin REST API
  3. Test timeouts: The regtest environment runs more containers, making tests ~2x slower than the old test.docker-compose.yml

Changes

  • Update regtest submodule: container renamed to arkd, remove broken init step, use direct docker exec
  • Revert test files to use docker exec -t arkd (matching all existing branches)
  • Update CI workflow log capture to use arkd
  • Increase global Playwright test timeout from 30s to 60s

Test plan

  • Regtest environment starts successfully
  • 70+ tests pass (Mobile Chrome + Google Chrome)
  • CI fully green

Summary by CodeRabbit

  • Chores

    • Updated CI failure log capture to target the correct runtime container.
    • Updated test commands to target the correct runtime container.
    • Updated a test submodule pointer to align test dependencies.
  • Tests

    • Set a global test timeout (60s) to reduce end-to-end flakiness.

The arkade-regtest override was using container_name 'ark', but all
existing test branches (and the original nigiri setup) use 'arkd'.
This caused "No such container: arkd" errors on every open PR after
the regtest submodule was merged.

- Update regtest submodule (container_name: ark → arkd)
- Revert test files to use 'docker exec -t arkd' (matching all branches)
- Update CI workflow log capture to use 'arkd'
@coderabbitai

coderabbitai Bot commented Apr 6, 2026 •

Copy link
Copy Markdown
Contributor

Walkthrough

Switch Docker container references from ark to arkd in CI and e2e tests, update the regtest git submodule pointer, and add a global Playwright test timeout of 60000 ms.

Changes

Cohort / File(s) Summary
CI / Workflow
/.github/workflows/playwright.yml
Updated "Capture logs on failure" step to tail logs from container arkd instead of ark.
Submodule
regtest
Updated git submodule pointer from 10b997d0b855760ba2635a632b505e57e2c66f97 → 9e30685a694a98ec4dff971dedbf5520cbe30787.
E2E Tests
src/test/e2e/fundedWallet.ts, src/test/e2e/send.test.ts, src/test/e2e/swap.test.ts
Replaced docker exec -t ark ... invocations with docker exec -t arkd ... for note creation and fee-setting/clearing commands; no other test logic or assertions changed.
Playwright Config
playwright.config.ts
Added global timeout: 60000 to the exported Playwright configuration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • bordalix
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: correcting container name references from 'ark' to 'arkd' across test files and CI configuration to match existing branches.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/arkd-container-name

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.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Apr 6, 2026 •

Copy link
Copy Markdown

Deploying wallet-bitcoin with  Cloudflare Pages  Cloudflare Pages

Latest commit: 767a981
Status: ✅  Deploy successful!
Preview URL: https://4e6e7765.wallet-bitcoin.pages.dev
Branch Preview URL: https://fix-arkd-container-name.wallet-bitcoin.pages.dev

View logs

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Apr 6, 2026 •

Copy link
Copy Markdown

Deploying wallet-mutinynet with  Cloudflare Pages  Cloudflare Pages

Latest commit: 767a981
Status: ✅  Deploy successful!
Preview URL: https://07231f5d.arkade-wallet.pages.dev
Branch Preview URL: https://fix-arkd-container-name.arkade-wallet.pages.dev

View logs

Kukks added 5 commits April 6, 2026 20:12
The nigiri CLI 'ark' subcommand hardcodes container name 'ark', but
our override uses 'arkd'. Updated start-env.sh to use direct docker
exec for the custom ARKD_IMAGE path.
arkd v0.9.1 has no 'init' subcommand — wallet setup is handled
through the admin REST API. Removes 30 failed retries that caused
CI environment setup to fail.
The arkade-regtest environment runs more containers than the old
test.docker-compose.yml, making Google Chrome tests take ~2x longer.
The default 30s Playwright assertion timeout causes borderline tests
to fail on CI. Mobile Chrome passes because it runs first while the
environment is fresh.
The arkade-regtest environment runs more containers than the old
test.docker-compose.yml, making tests take ~2x longer. The default
30s test timeout caused frequent timeouts on slower CI runners.
Set global timeout to 60s in playwright.config.ts. Tests with
explicit higher timeouts (120s for swap/restore) are unaffected.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/test/e2e/send.test.ts (1)

333-382: Ensure fee reset always runs with try/finally.

If the test fails before Line 382, fees clear is skipped and may pollute later tests. Wrap the body after fee setup in try/finally.

Proposed refactor
 test('should send MAX to onchain address with collaborative exit', async ({ page }) => {
   // set fees
   execSync('docker exec -t arkd arkd fees intent --onchain-output "200.0"')
+  try {
-  // create wallet
-  await createWallet(page)
+    // create wallet
+    await createWallet(page)

-  // get offchain address
-  const arkAddress = await receiveOffchain(page)
-  expect(arkAddress).toBeDefined()
-  expect(arkAddress).toBeTruthy()
+    // get offchain address
+    const arkAddress = await receiveOffchain(page)
+    expect(arkAddress).toBeDefined()
+    expect(arkAddress).toBeTruthy()

-  // faucet
-  await faucetOffchain(arkAddress, 1000)
-  await waitForPaymentReceived(page)
+    // faucet
+    await faucetOffchain(arkAddress, 1000)
+    await waitForPaymentReceived(page)

-  // ... rest of test steps ...
+    // ... rest of test steps ...
-
-  // clear fees
-  execSync('docker exec -t arkd arkd fees clear')
+  } finally {
+    // clear fees
+    execSync('docker exec -t arkd arkd fees clear')
+  }
 })
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/test/e2e/send.test.ts` around lines 333 - 382, The test sets fees with
execSync('docker exec -t arkd arkd fees intent ...') but calls execSync('docker
exec -t arkd arkd fees clear') only at the end, so if the test fails earlier the
fees aren't cleared; wrap the test body that runs after the fees intent
(everything from createWallet/receiveOffchain/... through assertions and the
final clicks) in a try/finally and move the execSync('docker exec -t arkd arkd
fees clear') into the finally block so fees are always reset; reference
execSync, createWallet, receiveOffchain, faucetOffchain, waitForPaymentReceived,
and the existing final execSync call to locate where to insert the try/finally.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/test/e2e/send.test.ts`:
- Around line 333-382: The test sets fees with execSync('docker exec -t arkd
arkd fees intent ...') but calls execSync('docker exec -t arkd arkd fees clear')
only at the end, so if the test fails earlier the fees aren't cleared; wrap the
test body that runs after the fees intent (everything from
createWallet/receiveOffchain/... through assertions and the final clicks) in a
try/finally and move the execSync('docker exec -t arkd arkd fees clear') into
the finally block so fees are always reset; reference execSync, createWallet,
receiveOffchain, faucetOffchain, waitForPaymentReceived, and the existing final
execSync call to locate where to insert the try/finally.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 982a8a32-84d2-4cbc-a11b-1fa5206d34c6

📥 Commits

Reviewing files that changed from the base of the PR and between d006a97 and 767a981.

📒 Files selected for processing (2)
  • playwright.config.ts
  • src/test/e2e/send.test.ts
✅ Files skipped from review due to trivial changes (1)
  • playwright.config.ts

@Kukks
Kukks merged commit d5b932b into master Apr 7, 2026
5 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Apr 13, 2026
@bordalix
bordalix deleted the fix/arkd-container-name branch May 18, 2026 16:17
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.

1 participant