Skip to content

Try the shared CPU runner fleet for Leo CI - #29666

Draft
mohammadfawaz wants to merge 1 commit into
masterfrom
codex/try-shared-cpu-runners
Draft

mohammadfawaz wants to merge 1 commit into
masterfrom
codex/try-shared-cpu-runners

Conversation

@mohammadfawaz

Copy link
Copy Markdown
Collaborator

Leo's Linux workspace tests and Rust checks run on standard four-core GitHub runners. Try the shared CPU fleet used by snarkVM and snarkOS to reduce build and test time.

Use aleo-labs-protocol/gh-actions at v2 to start runners labelled self-hosted, linux, x64, and cpu, then configure persistent build output and sccache. Run Linux workspace tests, Clippy, formatter validation, and Cargo documentation on the fleet. Keep the existing commands, features, profiles, and required checks.

Run fork pull requests on standard GitHub runners. A fleet startup failure blocks the selected checks. Keep macOS, Windows, and the CLI build and consumers on their existing GitHub runners. Give Linux tests a separate temporary directory so snarkOS genesis data cannot persist into another job, and store installed snarkOS binaries by version.

Required setup

  • Make RUNNER_ROLE_ARN available to Leo and allow Leo's workflow to assume that role through OIDC.
  • Grant Leo access to the shared CPU runner group, including access for this public repository.
  • Keep the fleet's existing libclang, disk guard, and runner setup. Leo already has access to RUNNER_APP_ID and RUNNER_APP_KEY.

The workflow reports the CPU count, memory, system library version, and separate build and test durations. This draft does not assume that every fleet machine has 16 cores. Keep it unmerged until runner access and performance are confirmed.

This branch has not been deployed

No deployments
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