Skip to content

Test actual LRE in CI#2321

Draft
palfrey wants to merge 15 commits into
TraceMachina:mainfrom
palfrey:lre-in-ci
Draft

Test actual LRE in CI#2321
palfrey wants to merge 15 commits into
TraceMachina:mainfrom
palfrey:lre-in-ci

Conversation

@palfrey
Copy link
Copy Markdown
Member

@palfrey palfrey commented May 11, 2026

Description

We previously had LRE testing, but it was a mix of trivial examples and buggy k8s-in-CI setups long commented out. This PR spins up a docker compose setup with the current branch's nix images and tries to build them, which will make it much easier to make improvements to those.

Type of change

Please delete options that aren't relevant.

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

CI, bunch of local docker compose and bazel test similar to the CI steps.

Checklist

  • Updated documentation if needed
  • Tests added/amended
  • bazel test //... passes locally
  • PR is contained in a single commit, using git amend see some docs

This change is Reviewable


EXPOSE 50051/tcp 50052/tcp
CMD ["nativelink"]
ENTRYPOINT ["nativelink"]
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Making it behave like the nix images

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Using the newer config so I don't get the warnings every time I boot things

platform_properties: {
cpu_count: {
query_cmd: "nproc",
values: [],
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Path isn't present on the nix images

exit_code = ?execution_result.exit_code,
stdout = ?stdout[..min(stdout.len(), 1000)],
stderr = ?stderr[..min(stderr.len(), 1000)],
command = ?command_proto.arguments,
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The error was just Command returned non-zero exit code, exit_code: 1, stdout: "", stderr: "bootstrap_process_wrapper: execvp: No such file or directory\n" or similar, now we get the full command

let program = self.canonicalise_path(args[0], &command_proto.working_directory)?;
let program = self
.canonicalise_path(args[0], &command_proto.working_directory)
.err_tip(|| format!("Canonicalisation failure. Command={args:#?}"))?;
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Error executing action, err: Error { code: NotFound, messages: ["No such file or directory (os error 2)", "Could not canonicalize path for command root /bin/bash."] } isn't very useful without knowing what was trying to invoke bash

nix run .#nativelink-worker-init.copyTo docker-daemon:local-worker-init:latest

- name: Compile NativeLink with NativeLink
timeout-minutes: 5 # FIXME: Reset to 60 before merge
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

FIXME

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