Skip to content

Add devcontainer (#6791)#6792

Open
PeterKneale wants to merge 3 commits intonextflow-io:masterfrom
PeterKneale:Issue_6791
Open

Add devcontainer (#6791)#6792
PeterKneale wants to merge 3 commits intonextflow-io:masterfrom
PeterKneale:Issue_6791

Conversation

@PeterKneale
Copy link

@PeterKneale PeterKneale commented Feb 3, 2026

After opening the devcontainer in vscode, we can see the below versions are installed, and that compilation and tests are successful:

Versions

  • java
vscode ➜ /workspaces/nextflow (Issue_6791) $ java --version
openjdk 24.0.2 2025-07-15
OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12)
OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)
  • gradle
vscode ➜ /workspaces/nextflow (Issue_6791) $ gradle --version

------------------------------------------------------------
Gradle 9.2.0
------------------------------------------------------------

Build time:    2025-10-29 13:53:23 UTC
Revision:      d9d6bbce03b3d88c67ef5a0ff31f7ae5e332d6bf

Kotlin:        2.2.20
Groovy:        4.0.28
Ant:           Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Launcher JVM:  24.0.2 (Eclipse Adoptium 24.0.2+12)
Daemon JVM:    /usr/local/sdkman/candidates/java/24.0.2-tem (no JDK specified, using current Java home)
OS:            Linux 6.17.8-orbstack-00308-g8f9c941121b1 aarch64
  • groovy
vscode ➜ /workspaces/nextflow (Issue_6791) $ groovy --version
Groovy Version: 4.0.29 JVM: 24.0.2 Vendor: Eclipse Adoptium OS: Linux

Compilation

scode ➜ /workspaces/nextflow (Issue_6791) $ make
./gradlew compile exportClasspath

[Incubating] Problems report is available at: file:///workspaces/nextflow/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.2.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 564ms
56 actionable tasks: 56 up-to-date
DONE Tue 03 Feb 2026 12:10:05 AM UTC

Launch

vscode ➜ /workspaces/nextflow (Issue_6791) $ ./launch.sh 
Usage: nextflow [options] COMMAND [arg...]

Options:
  -C
     Use the specified configuration file(s) overriding any defaults
*** SNIP***

Tests

vscode ➜ /workspaces/nextflow (Issue_6791) $ make smoke
NXF_SMOKE=1 ./gradlew test

> Task :nf-lang:compileJava
Note: /workspaces/nextflow/modules/nf-lang/src/main/java/nextflow/script/control/OpCriteriaVisitor.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :nextflow:compileGroovy
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :plugins:nf-amazon:compileGroovy
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /workspaces/nextflow/plugins/nf-amazon/src/main/nextflow/cloud/aws/nio/S3FileSystemProvider.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :plugins:nf-azure:compileGroovy
00:56:38.428 [/127.0.0.1:44030 to /127.0.0.1:39463 workers] DEBUG com.azure.core.implementation.ReflectionUtils -- Attempting to use java.lang.invoke package to handle reflection.
00:56:38.441 [/127.0.0.1:44030 to /127.0.0.1:39463 workers] DEBUG com.azure.core.implementation.ReflectionUtils -- Successfully used java.lang.invoke package to handle reflection.
00:56:52.598 [Test worker] DEBUG java.lang.Runtime -- Runtime.exit() called with status: 0
java.lang.Throwable: Runtime.exit(0)
        at java.base/java.lang.Shutdown.logRuntimeExit(Shutdown.java:179)
        at java.base/java.lang.Shutdown.exit(Shutdown.java:160)
        at java.base/java.lang.Runtime.exit(Runtime.java:188)
        at java.base/java.lang.System.exit(System.java:1920)
        at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:75)
00:58:26.391 [ForkJoinPool-1-worker-1] DEBUG o.e.jgit.internal.util.ShutdownHook – Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda/0x000000a801f07ad0@544df82e during JVM shutdown

[Incubating] Problems report is available at: file:///workspaces/nextflow/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.2.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD SUCCESSFUL in 2m 22s
138 actionable tasks: 110 executed, 28 up-to-date
vscode ➜ /workspaces/nextflow (Issue_6791) $ 

@netlify
Copy link

netlify bot commented Feb 3, 2026

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit 8836966
🔍 Latest deploy log https://app.netlify.com/projects/nextflow-docs-staging/deploys/699527336e6fa5000823c686

@PeterKneale PeterKneale changed the title Add devcontainer (#6769) Add devcontainer (#6791) Feb 3, 2026
@PeterKneale
Copy link
Author

PeterKneale commented Feb 3, 2026

@bentsherman
I've taken the dependency versions from the existing project and used them in the devcontainer.
They install cleanly and the project's make file produced a successful build on first attempt and the tests pass. Definately makes for an easier onboarding for new contributors.

@PeterKneale
Copy link
Author

Any chance you can take a quick look at this @bentsherman , it works well for me and I used the environment to resolve another issue.

@PeterKneale PeterKneale force-pushed the Issue_6791 branch 2 times, most recently from 77aa6b6 to 84338c5 Compare February 11, 2026 07:21
@PeterKnealeCMRI
Copy link
Contributor

I dont suppose you could review this @ewels?

Copy link
Member

@ewels ewels left a comment

Choose a reason for hiding this comment

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

I think we can clean up most of these comments to keep this tidier. But otherwise it seems like a simple PR and a net-gain 👍🏻

@PeterKneale
Copy link
Author

Fair enough! - comments removed. I had left them in case people were new to devcontainers but all good.

PeterKneale and others added 3 commits February 18, 2026 13:42
Signed-off-by: Peter Kneale <peterkneale@gmail.com>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>
Signed-off-by: Peter Kneale <PeterKneale@gmail.com>
Co-authored-by: Phil Ewels <phil.ewels@seqera.io>
Signed-off-by: Peter Kneale <PeterKneale@gmail.com>
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

Comments