Skip to content

Update dependencies and improve cache handling#30

Merged
ppenna merged 1 commit intohyperlight-dev:mainfrom
nanvix:enhancement-cache-refactor
Feb 11, 2026
Merged

Update dependencies and improve cache handling#30
ppenna merged 1 commit intohyperlight-dev:mainfrom
nanvix:enhancement-cache-refactor

Conversation

@ppenna
Copy link
Collaborator

@ppenna ppenna commented Feb 10, 2026

This pull request introduces several improvements focused on cache management and workload package handling. The main changes are a refactor of cache lookup logic to use the Registry API, the addition of logic to ensure interpreter packages are installed for scripted workloads, and a utility method for mapping workload types to package names.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the nanvix dependency and refactors workload execution and cache handling to rely more on the nanvix::registry::Registry API, including ensuring interpreter packages are installed for scripted workloads.

Changes:

  • Add WorkloadType::package_name() and install interpreter packages before running scripted workloads.
  • Refactor cache lookup helpers to use Registry methods instead of direct filesystem path checks.
  • Bump the nanvix git revision (and update the lockfile accordingly).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/runtime.rs Adds workload→package mapping and installs scripted workload dependencies before resolving interpreter binaries.
src/cache.rs Replaces filesystem cache probing with Registry calls and adds a synchronous cache check via a Tokio runtime.
Cargo.toml Updates the nanvix git revision.
Cargo.lock Lockfile refresh for the new nanvix revision and its transitive dependency changes.
Comments suppressed due to low confidence (1)

src/runtime.rs:188

  • Calling registry.install(...) inside Runtime::run can make normal execution (and the integration tests that call run) depend on registry availability/network on every invocation. If the intent is only to ensure dependencies exist, consider making this step conditional (e.g., only when the interpreter binary/package is missing) or providing an option/env var to skip/avoid installs in offline/test environments.
        if let Some(package_name) = workload_type.package_name() {
            log::info!("Installing package '{}' and dependencies...", package_name);
            self.registry
                .install(machine_type, deployment_type, package_name, true)
                .await?;
        }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ppenna ppenna force-pushed the enhancement-cache-refactor branch from 85acd53 to 3d28251 Compare February 10, 2026 22:04
@ppenna ppenna force-pushed the enhancement-cache-refactor branch 3 times, most recently from f44adfe to 72b4ea1 Compare February 11, 2026 00:05
Signed-off-by: Pedro Henrique Penna <ppenna@microsoft.com>
@ppenna ppenna force-pushed the enhancement-cache-refactor branch from 72b4ea1 to b81e97d Compare February 11, 2026 00:09
@ppenna ppenna merged commit f4bc205 into hyperlight-dev:main Feb 11, 2026
4 checks passed
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.

2 participants