Skip to content

NixOS: Test NixOS packaging strategy for Node SEA binary #8

Description

@378-kaiabot

Test the NixOS packaging strategy for the Node SEA binary

Repository: `aliou/linear-cli`

linear-cli release binaries are Node 24 single executable applications built with Fossilize. `378labs/pkgs` currently applies `autoPatchelfHook` to the Linux release artifacts.

`autoPatchelfHook` is the normal Nix packaging path for prebuilt ELF binaries, but Node SEA binaries need a compatibility test before we rely on it. The SEA payload is injected into the Node executable, and ELF layout changes have caused runtime failures for some Node binaries.

Scope

  • Test the package produced by `378labs/pkgs` on Linux x64 and ARM64.
  • Run `linear --version` and a no-network dry-run command such as:

```sh
linear --no-color issue close ENG-123 --yes --dry-run
```

  • Test the packaged executable, not a patched copy outside the derivation.
  • Record its interpreter and RPATH after the package fixup step.

Decision

  • Keep `autoPatchelfHook` if the packaged binary passes the target-platform smoke tests.
  • If it fails or corrupts the SEA executable, install the release artifact unchanged with `dontFixup = true` and document the `nix-ld` requirement for NixOS consumers.

Acceptance criteria

  • Linux x64 and ARM64 package smoke tests pass for the selected strategy.
  • The package definition states why that strategy is safe for this Node SEA artifact.
  • The result is covered by a repeatable NixOS test or a documented native-arm test procedure.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions