Skip to content

Add Apple container engine support#7073

Merged
pditommaso merged 4 commits intomasterfrom
add-apple-container-engine
Apr 25, 2026
Merged

Add Apple container engine support#7073
pditommaso merged 4 commits intomasterfrom
add-apple-container-engine

Conversation

@pditommaso
Copy link
Copy Markdown
Member

@pditommaso pditommaso commented Apr 24, 2026

Summary

  • Add AppleContainerBuilder and AppleContainerConfig to run tasks with Apple container, which launches one lightweight Linux VM per container on Apple silicon via Virtualization.framework.
  • Wire the new builder into ContainerBuilder.create() and Session.getContainerConfig(); register AppleContainerConfig in extensions.idx so the appleContainer config scope is recognized.
  • Document the new engine in docs/container.md and docs/reference/config.md, alphabetized alongside the existing engines.

Enable via:

appleContainer.enabled = true
process.container = 'ubuntu:latest'

Requires container system start on the host.

Test plan

  • ./gradlew :nextflow:test --tests "nextflow.container.*" passes
  • ContainerBuilder.create() returns AppleContainerBuilder for AppleContainerConfig
  • Emitted command verified against container run --help (flag names, image as trailing positional)
  • Smoke test on macOS with container system start + a real pipeline

Introduce AppleContainerBuilder and AppleContainerConfig to run tasks
with Apple's `container` runtime (https://github.com/apple/container),
which launches one lightweight VM per container on Apple silicon via
Virtualization.framework. Wires the builder into
ContainerBuilder.create() and Session.getContainerConfig() so it can be
selected via the `appleContainer` config scope.

Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
@pditommaso pditommaso requested a review from a team as a code owner April 24, 2026 20:00
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 24, 2026

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit a49aecc
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-docs-staging/deploys/69ebd4a1815ae8000890b257

@bentsherman
Copy link
Copy Markdown
Member

Wouldn't it always have to use the local executor?

@pditommaso
Copy link
Copy Markdown
Member Author

pditommaso commented Apr 24, 2026

Yep, but strictly speaking executors are decoupled from executors. Then, who knows, k8s clusters running mac metal instances .. 😄

Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
@pditommaso
Copy link
Copy Markdown
Member Author

Low impact, merging this since it's a nice to have in next release. @bentsherman feel free to follow up in separate pr if you feel there's something it could be improved

@pditommaso pditommaso merged commit 2f7a3c4 into master Apr 25, 2026
25 checks passed
@pditommaso pditommaso deleted the add-apple-container-engine branch April 25, 2026 09:58
@bentsherman
Copy link
Copy Markdown
Member

Did you try it out on your laptop? 😄

@pditommaso
Copy link
Copy Markdown
Member Author

Of course!

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