Skip to content

Add multi-arch support to arch process directive#6897

Merged
pditommaso merged 10 commits intomasterfrom
multi-arch-directive
Mar 17, 2026
Merged

Add multi-arch support to arch process directive#6897
pditommaso merged 10 commits intomasterfrom
multi-arch-directive

Conversation

@pditommaso
Copy link
Member

Summary

  • Refactor Architecture class to support comma-separated platform values in the arch directive (e.g. arch 'linux/amd64,linux/arm64')
  • Add inner Arch value type holding normalized arch values, with platforms() and containerPlatform() methods
  • Keep dockerArch/spackArch getters for backward compatibility (delegate to first arch)
  • Remove unused platform, arch, target fields from Architecture
  • Update Wave to add fusion layers for each platform in multi-arch builds
  • Update AWS Batch handler to use dockerArch instead of removed arch field

Test plan

  • ArchitectureTest — single arch, multi-arch, map-based, normalize, toString
  • Wave client tests with multi-arch platform
  • Integration test with arch 'linux/amd64,linux/arm64'

🤖 Generated with Claude Code

Allow comma-separated platform values in the `arch` directive
(e.g. `arch 'linux/amd64,linux/arm64'`) to enable Wave to build
multi-platform container images.

- Refactor Architecture class with inner Arch value type holding
  normalized arch values
- Add `platforms()` returning list of docker arch strings and
  `containerPlatform()` returning comma-joined string
- Keep `dockerArch`/`spackArch` getters for backward compatibility
  (delegate to first arch)
- Remove unused `platform`, `arch`, `target` fields
- Update Wave to add fusion layers for each platform
- Update AWS Batch handler to use `dockerArch` instead of removed
  `arch` field

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
@netlify
Copy link

netlify bot commented Mar 6, 2026

Deploy Preview for nextflow-docs-staging canceled.

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

@pditommaso pditommaso requested a review from jordeu March 6, 2026 11:26
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
pditommaso and others added 7 commits March 16, 2026 09:45
…re.groovy [ci skip]

Co-authored-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Add `seqera.executor.provider` setting to specify the compute backend
provider type (e.g. aws, local), used together with region to select
the matching compute environment. Bump nf-seqera to 0.15.0 and
sched-client to 0.41.0-SNAPSHOT.

Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Refactor Architecture class to support comma-separated architectures
(e.g. `arch 'linux/amd64,linux/arm64'`). Multi-arch is fully supported
by selected executors (Seqera) via platforms()/containerPlatform().
Other executors use getDockerArch()/getSpackArch() which return only
the first (primary) architecture. Also rename inner class Arch to
ArchEntry for clarity.

Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
@pditommaso pditommaso marked this pull request as ready for review March 16, 2026 09:12
@pditommaso pditommaso requested review from a team as code owners March 16, 2026 09:12
@pditommaso pditommaso merged commit c7ca369 into master Mar 17, 2026
24 of 25 checks passed
@pditommaso pditommaso deleted the multi-arch-directive branch March 17, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants