Skip to content

Skip Hyperswarm test in Deno to fix release pipeline#80

Merged
kayodebristol merged 2 commits intomainfrom
copilot/fix-release-pipeline-errors
Feb 16, 2026
Merged

Skip Hyperswarm test in Deno to fix release pipeline#80
kayodebristol merged 2 commits intomainfrom
copilot/fix-release-pipeline-errors

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 14, 2026

Deno CI fails when running hyperswarm-sync.test.ts because importing the hyperswarm package pulls in udx-native, a Node.js native module:

deno: symbol lookup error: .../udx-native.node: undefined symbol: uv_interface_addresses

Changes

  • Set ignore: true on the "GunDB.enableSync - throws error in Deno environment" test
  • Test was verifying Deno incompatibility anyway; runtime enforces the behavior

Test Safety

Other enableSync() tests remain enabled—they throw validation errors before importing hyperswarm:

  • Invalid key validation (regex check)
  • Database ready check

Both exit early without triggering the problematic import.

Original prompt

This section details on the original issue you should resolve

<issue_title>Fix release pipeline</issue_title>
<issue_description>The job failed due to the following error in the logs:

deno: symbol lookup error: /home/runner/work/pluresdb/pluresdb/node_modules/udx-native/prebuilds/linux-x64/udx-native.node: undefined symbol: uv_interface_addresses

This error indicates a native dependency issue, likely caused by running tests in a Deno environment that expects Node.js-specific modules such as udx-native. The relevant test in legacy/tests/unit/hyperswarm-sync.test.ts also checks for this, and expects a Deno environment to throw errors for Hyperswarm-based sync, which relies on Node.js.

Solution:

  1. Update the workflow/job definition to skip (ignore) the tests in hyperswarm-sync.test.ts when running in Deno (or any CI using Deno). You can use Deno.test({ignore: true}) for these tests, or conditionally run them only in Node.js environments.
  2. Alternatively, adjust the dependencies: Ensure udx-native and related modules are not required or imported during Deno CI runs.

Code suggestion: In your test file, wrap Hyperswarm-dependent tests as ignored in Deno:

Deno.test({
  name: "GunDB.enableSync - throws error in Deno environment",
  ignore: true, // set this to true to skip in Deno CI
  async fn() {
    // ... test code ...
  },
});

And for CI, set an environment variable to skip these tests, or split Node.js and Deno workflows.

This will allow your job to succeed by avoiding tests and imports that can never work in the Deno runner context.</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: kayodebristol <3579196+kayodebristol@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix release pipeline error in Deno environment Skip Hyperswarm test in Deno to fix release pipeline Feb 14, 2026
Copilot AI requested a review from kayodebristol February 14, 2026 08:08
@kayodebristol kayodebristol marked this pull request as ready for review February 16, 2026 19:27
@kayodebristol kayodebristol merged commit ca2f502 into main Feb 16, 2026
3 checks passed
@kayodebristol kayodebristol deleted the copilot/fix-release-pipeline-errors branch February 16, 2026 19:27
Copilot AI added a commit that referenced this pull request Feb 16, 2026
- Add CI environment detection (CI=true) to all Hyperswarm test files
- Skip network-dependent tests in CI while preserving local coverage
- Update test documentation with CI isolation details
- Add clear skip messages explaining why tests are skipped

Affected files:
- legacy/tests/unit/hyperswarm-sync.test.ts: CI detection + skip network test
- tests/hyperswarm-integration.test.js: Complete skip in CI with message
- legacy/tests/integration/mesh-network.test.ts: Enhanced skip logic with CI awareness
- docs/TESTING.md: Added comprehensive CI test isolation section
- README.md: Added note about CI test behavior

Resolves: Hyperswarm test instability in CI (issue #79, PR #80)
Benefits: Reliable automated releases, fast CI feedback, full local coverage

Co-authored-by: kayodebristol <3579196+kayodebristol@users.noreply.github.com>
kayodebristol added a commit that referenced this pull request Feb 17, 2026
* Initial plan

* feat: skip Hyperswarm tests in CI for reliable releases

- Add CI environment detection (CI=true) to all Hyperswarm test files
- Skip network-dependent tests in CI while preserving local coverage
- Update test documentation with CI isolation details
- Add clear skip messages explaining why tests are skipped

Affected files:
- legacy/tests/unit/hyperswarm-sync.test.ts: CI detection + skip network test
- tests/hyperswarm-integration.test.js: Complete skip in CI with message
- legacy/tests/integration/mesh-network.test.ts: Enhanced skip logic with CI awareness
- docs/TESTING.md: Added comprehensive CI test isolation section
- README.md: Added note about CI test behavior

Resolves: Hyperswarm test instability in CI (issue #79, PR #80)
Benefits: Reliable automated releases, fast CI feedback, full local coverage

Co-authored-by: kayodebristol <3579196+kayodebristol@users.noreply.github.com>

* docs: clarify test execution instructions per code review

- Simplify Node.js test skip message (remove CI=false from instructions)
- Clarify Deno test instructions to explain runtime limitations
- Improve documentation about Deno native module incompatibility
- Make test execution commands more user-friendly

Addresses code review feedback on PR for issue #79

Co-authored-by: kayodebristol <3579196+kayodebristol@users.noreply.github.com>

* docs: remove misleading CI=false references from instructions

- Clarify that CI is unset by default in local environments
- Remove confusing CI=false instructions (string "false" doesn't work as expected)
- Emphasize that simply running tests locally is sufficient
- Improve explanation of Deno native module limitations

Final improvements addressing all code review feedback

Co-authored-by: kayodebristol <3579196+kayodebristol@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kayodebristol <3579196+kayodebristol@users.noreply.github.com>
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.

Fix release pipeline

2 participants