Skip to content

Drop single-process and multi-process deployment modes; keep standalone only#298

Merged
ppenna merged 1 commit into
nanvix/v3.49.0from
copilot/drop-single-multi-process-support
Jul 10, 2026
Merged

Drop single-process and multi-process deployment modes; keep standalone only#298
ppenna merged 1 commit into
nanvix/v3.49.0from
copilot/drop-single-multi-process-support

Conversation

Copilot AI commented Jul 10, 2026

Copy link
Copy Markdown

Removes support for the single-process and multi-process Nanvix deployment modes across the build matrix, tooling, and docs, leaving standalone as the only supported mode.

Build matrix

  • .nanvix/nanvix.toml: modes reduced to ["standalone"].
  • .github/workflows/nanvix-ci.yml: process-modes set to ["standalone"] in the ci and ci-scheduled jobs.

Build/test tooling

  • .nanvix/z.py: dropped the non-standalone branch in test() and the non-standalone skip guard in _run_tests_windows(); docstrings/messages updated. The PROCESS_MODE/deployment_mode plumbing is retained (now always standalone).
  • Makefile.nanvix: test-functional now unconditionally delegates to the standalone path via ./z.sh; removed the orphaned _sqlite_test.sql temp-file handling (also from clean), which only fed the deleted non-standalone branch.

Docs

  • .nanvix/NANVIX.md: platform/build-matrix tables, artifact + zlib examples, and notes updated to reflect standalone-only support.
# .nanvix/nanvix.toml
-modes = ["multi-process", "single-process", "standalone"]
+modes = ["standalone"]

Out of scope: multi-process/standalone references in upstream SQLite sources (ext/, test/, tool/, ext/wasm/) refer to SQLite's own DB-locking model and WASM build artifacts, and are left untouched.

Copilot AI requested review from Copilot and removed request for Copilot July 10, 2026 15:43
@ppenna ppenna marked this pull request as ready for review July 10, 2026 15:59
Copilot AI review requested due to automatic review settings July 10, 2026 15:59

Copilot AI left a comment

Copy link
Copy Markdown

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 removes support for Nanvix single-process and multi-process deployment modes across the project, leaving standalone as the only supported mode. It simplifies the build/test paths accordingly and updates documentation and CI configuration to reflect the new constraint.

Changes:

  • Restricts the Nanvix build/CI matrices to ["standalone"] only.
  • Simplifies test execution by removing non-standalone branches and temp-file plumbing.
  • Updates Nanvix documentation examples and tables to be standalone-only.
Show a summary per file
File Description
Makefile.nanvix Removes non-standalone functional-test path and deletes the now-orphaned _sqlite_test.sql handling.
.nanvix/z.py Collapses testing logic to the standalone functional test implementation and updates Windows test docs/flow accordingly.
.nanvix/nanvix.toml Reduces the build matrix modes list to ["standalone"].
.nanvix/NANVIX.md Updates examples and tables to document standalone-only support (but CI platform coverage needs correction).
.github/workflows/nanvix-ci.yml Updates workflow inputs so process-modes is ["standalone"].

Review details

Tip

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

  • Files reviewed: 5/5 changed files
  • Comments generated: 4
  • Review effort level: Low

Comment thread .nanvix/z.py
Comment on lines 327 to +331
if IS_WINDOWS:
self._run_tests_windows()
return

if self.config.deployment_mode == "standalone":
allowed = {"test", "test-functional"}
unknown = [t for t in self.targets if t not in allowed]
if unknown:
log.fatal(
f"Unsupported test target(s) in standalone mode: {unknown}. "
f"Allowed: {sorted(allowed)}.",
)
self._run_functional_standalone()
else:
targets = self.targets or ["test"]
run(*self._make_args(*targets), cwd=repo_root())
allowed = {"test", "test-functional"}
Comment thread .nanvix/NANVIX.md
### Build Matrix

The CI runs on all platform × process-mode × memory combinations:
The CI runs on all platform × memory combinations:
Comment thread .nanvix/NANVIX.md
Comment on lines 261 to 264
| Platform | Process Mode | Memory | OS |
|----------|--------------|--------|----|
| hyperlight | standalone | 128mb, 256mb | Linux + Windows |
| hyperlight | single-process | 128mb, 256mb | Linux |
| hyperlight | multi-process | 128mb, 256mb | Linux |
| microvm | standalone | 128mb, 256mb | Linux + Windows |
Comment thread .nanvix/NANVIX.md
| microvm | single-process | 128mb, 256mb | Linux |
| microvm | multi-process | 128mb, 256mb | Linux |

All Linux configurations run functional tests in parallel with `fail-fast: false`, ensuring that all platforms are tested even if one fails. Windows standalone tests use `nanvixd.exe` to run `sqlite3.elf` with functional SQL queries.
@ppenna ppenna merged commit a464c11 into nanvix/v3.49.0 Jul 10, 2026
16 checks passed
@ppenna ppenna deleted the copilot/drop-single-multi-process-support branch July 10, 2026 16:32
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.

3 participants