Skip to content

Commit 920c506

Browse files
authored
Merge branch 'master' into add-origPath-to-FileHolder
2 parents 8d2add3 + b0fe0a9 commit 920c506

415 files changed

Lines changed: 12254 additions & 11366 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/stale.yml

Lines changed: 0 additions & 17 deletions
This file was deleted.

.github/workflows/build.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ jobs:
8484
env:
8585
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
8686
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
87+
AWS_S3FS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY_ID }}
88+
AWS_S3FS_SECRET_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
8789
NXF_BITBUCKET_ACCESS_TOKEN: ${{ secrets.NXF_BITBUCKET_ACCESS_TOKEN }}
8890
NXF_GITHUB_ACCESS_TOKEN: ${{ secrets.NXF_GITHUB_ACCESS_TOKEN }}
8991
NXF_GITLAB_ACCESS_TOKEN: ${{ secrets.NXF_GITLAB_ACCESS_TOKEN }}
@@ -95,6 +97,7 @@ jobs:
9597
AZURE_BATCH_ACCOUNT_KEY: ${{ secrets.AZURE_BATCH_ACCOUNT_KEY }}
9698

9799
- name: Publish tests report
100+
if: always()
98101
uses: actions/upload-artifact@v4
99102
with:
100103
name: report-unit-tests-jdk-${{ matrix.java_version }}

.github/workflows/stale.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: 'Mark stale issues and PRs'
2+
on:
3+
schedule:
4+
- cron: '30 1 * * *'
5+
workflow_dispatch:
6+
7+
jobs:
8+
stale:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/stale@v9
12+
with:
13+
days-before-stale: 180
14+
days-before-close: -1
15+
stale-issue-label: stale
16+
stale-issue-message: ''
17+
stale-pr-label: stale
18+
stale-pr-message: ''
19+
exempt-issue-labels: bug,planned,security
20+
exempt-all-milestones: true
21+
exempt-all-assignees: true

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
25.03.1-edge
1+
25.06.0-edge

build.gradle

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
plugins {
18-
id "io.codearte.nexus-staging" version "0.30.0"
1918
id 'java'
2019
id 'idea'
2120
}
@@ -103,8 +102,8 @@ allprojects {
103102

104103
// Documentation required libraries
105104
groovyDoc 'org.fusesource.jansi:jansi:2.4.0'
106-
groovyDoc "org.apache.groovy:groovy-groovydoc:4.0.26"
107-
groovyDoc "org.apache.groovy:groovy-ant:4.0.26"
105+
groovyDoc "org.apache.groovy:groovy-groovydoc:4.0.28"
106+
groovyDoc "org.apache.groovy:groovy-ant:4.0.28"
108107
}
109108

110109
test {
@@ -268,8 +267,8 @@ task exportClasspath {
268267
}
269268
}
270269

271-
ext.nexusUsername = project.findProperty('nexusUsername')
272-
ext.nexusPassword = project.findProperty('nexusPassword')
270+
ext.nexusUsername = project.findProperty('nexusUsername') ?: System.getenv('AWS_ACCESS_KEY_ID')
271+
ext.nexusPassword = project.findProperty('nexusPassword') ?: System.getenv('AWS_SECRET_ACCESS_KEY')
273272
ext.nexusFullName = project.findProperty('nexusFullName')
274273
ext.nexusEmail = project.findProperty('nexusEmail')
275274

@@ -347,12 +346,12 @@ configure(coreProjects) {
347346
repositories {
348347
maven {
349348
// change URLs to point to your repos, e.g. http://my.org/repo
350-
def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
351-
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
349+
def releasesRepoUrl = "s3://maven.seqera.io/releases/"
350+
def snapshotsRepoUrl = "s3://maven.seqera.io/snapshots/"
352351
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
353-
credentials(PasswordCredentials) {
354-
username nexusUsername
355-
password nexusPassword
352+
credentials(AwsCredentials) {
353+
accessKey nexusUsername
354+
secretKey nexusPassword
356355
}
357356
}
358357
}
@@ -393,17 +392,6 @@ task upload {
393392
dependsOn coreProjects.publish
394393
}
395394

396-
/*
397-
* Configure Nextflow staging plugin -- https://github.com/Codearte/gradle-nexus-staging-plugin
398-
* It adds the tasks
399-
* - closeRepository
400-
* - releaseRepository
401-
* - closeAndReleaseRepository
402-
*/
403-
nexusStaging {
404-
packageGroup = 'io.nextflow'
405-
delayBetweenRetriesInMillis = 10_000
406-
}
407395

408396
if( System.env.BUILD_PACK ) {
409397
apply from: 'packing.gradle'

buildSrc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ group = "io.nextflow"
1212

1313
dependencies {
1414
implementation ('com.amazonaws:aws-java-sdk-s3:1.12.777')
15-
implementation 'com.google.code.gson:gson:2.10.1'
15+
implementation 'com.google.code.gson:gson:2.13.1'
1616
}
1717

1818
gradlePlugin {

changelog.txt

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,164 @@
11
NEXTFLOW CHANGE-LOG
22
===================
3+
25.06.-0-edge - 6 Jul 2025
4+
- Add Git response max length check (#6190) [098fe84f]
5+
- Add docker.registryOverride option (#6205) [e26abe4f]
6+
- Add namespaces to nf-lang (#6176) [c839799b]
7+
- Add support for Bitbucket API token (#6209) [f711f24e]
8+
- Fix AWS NIO tests [069653dd]
9+
- Fix JWT token refresh to Fusion validation request (#6231) [95dfdafd]
10+
- Fix Apptainer and singularity --no-https option (#6216) [66ead2c6]
11+
- Fix class not found exception Google Life science executor (#6193) [7bfb9358]
12+
- Fix false error on nested closure in config process directive (#6203) [481c773b]
13+
- Fix false error when using stdin/stdout in a tuple (#6219) [5d7f12ce]
14+
- Fix false warning in config schema validator (#6240) [4e55ceeb]
15+
- Fix http response err message [1f05451f]
16+
- Fix mamba env create stalls at prompt [e7c93791]
17+
- Fix null reference error in lint command (#6202) [3e1837e6]
18+
- Fix readBytes for non-GitHub providers (#6243) [fa79c12c]
19+
- Fix replace List.getFirst with List.get(0) for compatibility [83428ee2]
20+
- Fix same Conda env is re-created for same module (#6166) [b46f01f9]
21+
- Fix stack overflow error with workflow metadata (#5988) [9d50c495]
22+
- Fix Maven publish with aws credentials [34d64ab3]
23+
- Implement retry strategy for Git repository provider (#6195) [0f922826]
24+
- Implement unordered directory hash (#6197) [a0eeed8d]
25+
- Minor Azure Batch disk slot calculation demoted to debug (#6234) [c65955ce]
26+
- Remove deprecated GsonHelper class [700faddb]
27+
- Remove deprecated nexus-staging plugin [68b449bb]
28+
- Rename IncludeModuleNode to IncludeEntryNode (#6217) [1f456d9c]
29+
- Replace URLConnection with HttpClient (#6188) [d1e6836e]
30+
- Return null result when repository provider has not auth [9d7fd9fc]
31+
- Unwrap Failsafe exception cause in Wave client [0cb39df5]
32+
- Update Google dependencies (#6229) [8bd42acb]
33+
- Update stalebot (#6228) [27174df3]
34+
- Update Wave retryPolicy default values (#6222) [b8069a58]
35+
- Upgrade AWS instructions to AL2023 (#6183) [ed407095]
36+
- Upgrade to AWS Java SDK v2 (#6165) [fc99b447]
37+
- Upload Google Batch log on task exit (#6226) [78d9f473]
38+
- Bump Google instance type for testing [bde9ef1b]
39+
- Bump Logback version 1.5.18 [e3d5cedd]
40+
- Bump Slf4j version 2.0.17 [93199e09]
41+
- Bump gson version 2.13.1 [ab8e36a2]
42+
- Bump nf-wave@1.14.0 [71ecf264]
43+
- Bump nf-tower@1.13.0 [53d1bfb4]
44+
- Bump nf-google@1.22.1 [cdf56d14]
45+
- Bump nf-azure@1.18.0 [fc514062]
46+
- Bump nf-amazon@3.0.0 [ffe699bd]
47+
48+
25.04.4 - 16 Jun 2024
49+
- Fix bug in generated Groovy code (#6082) [ead2f320]
50+
- Fix default imports in included configs (#6096) [831a577b]
51+
- Fix variable checking in v2 config parser (#6097) [686ff608]
52+
- Sort linter errors/warnings by source location (#6098) [f51f339c]
53+
54+
24.10.8 - 6 Jun 2025
55+
- Add Fusion license validation [02b4dd74]
56+
- Bump nf-wave@1.7.5-patch1 [cf6af9c5]
57+
- Bump nf-tower@1.9.3-patch1 [bdef2177]
58+
59+
24.04.5 - 6 Jun 2025
60+
- Add Fusion license validation [cb7210b9]
61+
- Bump nf-wave@1.4.2-patch2 [69b63342]
62+
- Bump nf-tower@1.9.1-patch1 [8bfdc673]
63+
64+
25.05.0-edge - 2 Jun 2025
65+
- Add Failsafe retry mechanism in K8s (#6083) [9e675c6a]
66+
- Add Platform info to Fusion license (#6142) [75f1bc52]
67+
- Add support for Azure Managed identities on Azure worker nodes with Fusion (#6118) [37981a5f]
68+
- Add support for container build compression (#5964) [daeefa0c]
69+
- Deprecated condaFile attribute [9e52b2ad]
70+
- Fix bug in generated Groovy code (#6082) [f0620656]
71+
- Fix default imports in included configs (#6096) [8f790615]
72+
- Fix variable checking in v2 config parser (#6097) [c3e9367b]
73+
- Force overwritting to trace file (#6105) [b9dace93]
74+
- Improve documentation of splitCsv operator (#6131) [f09ae8d7]
75+
- Make RepositoryProvider readBytes public (#6138) [9221b112]
76+
- Remove Az Fusion environment variable (#6143) [6c595eac]
77+
- Remove deprecated spack options [4e5d32a3]
78+
- Remove task attempt from hash list and add note (#6123) [9b48df4c]
79+
- Return streams in Lineage search and subkeys methods (#6067) [e4af2308]
80+
- Sort linter errors/warnings by source location (#6098) [7c52fafb]
81+
- Sunset the Google LS executor (#6070) [06e0d426]
82+
- Bump Groovy to version 4.0.27 (#6125) [258e1790]
83+
- Bump jgit:7.1.1.202505221757-r [16b88aca]
84+
- Bump nf-wave@1.13.0 [ab1d2dfe]
85+
- Bump nf-tower@1.12.0 [d4d97dfc]
86+
- Bump nf-k8s@1.1.0 [14eb7892]
87+
- Bump nf-google@1.22.0 [0f6498f1]
88+
- Bump nf-azure@1.17.0 [0b491840]
89+
90+
25.04.3 - 2 Jun 2025
91+
- Add Platform info to Fusion license (#6142) [375db65a]
92+
- Force overwritting to trace file (#6105) [59e9d88d]
93+
- Bump nf-tower@1.11.3 [f7509bce]
94+
95+
25.04.2 - 13 May 2025
96+
- Add check subcommand in lineage (#6074) [5ba67bca]
97+
- Fix issues with `lint` console output (#6064) [7405f513]
98+
- Remove obsolete conda create --mkdir option (#6010) [9fc44f76]
99+
100+
25.04.1 - 12 May 2025
101+
- Add Beta annotation to LinStore [3bd0d731]
102+
- Add data lineage guide (#6044) [7f7fb631]
103+
- Add more excludes to cmd lint [fc52c843]
104+
- Add support for ARM and Snapshots (#6057) [ef4c3865]
105+
- Add version to Lineage data model (#6037) [5c2c2834]
106+
- Fix IllegalArgumentException on publish operator [ecdbe21b]
107+
- Fix linting of output `label` directive (#6065) [74bf33a2]
108+
- Fix selector expression documentation (#6050) [548c87bd]
109+
- Improve lineage checksum validation [d708bf09]
110+
- Improve not found error in lineage `render` (#6061) [e55419ad]
111+
- Make config parser v2 compatible with AssetManager (#6042) [aab5574b]
112+
- Refactor lineage model using v1beta1 package name [63d59154]
113+
- Support fromPath with pattern in Lineage Pseudo-FS (#6054) [ce165c0e]
114+
- Bump plugin template to v0.2.0 (#6062) [96c88931]
115+
- Bump nf-wave@1.12.1 [8cabfd74]
116+
117+
25.04.0 - 8 May 2025
118+
- Add Support for Google Batch network tags (#5951) [d6e4d6c2]
119+
- Add Trace observer v2 (#6014) [c4437c1a]
120+
- Add allowed plugins list (#6049) [e22882e3]
121+
- Add azure.batch.jobMaxWallClockTime config option (#5996) [74963fdc]
122+
- Add config error checking to `run` command (#5998) [b0191fa4]
123+
- Add lineage to gitignore [02e1a542]
124+
- Add plugin create command (#6032) [68865f7f]
125+
- Add socketTimeoutException to retryable condition [b676e996]
126+
- Add support for Java 24 [a47ceefe]
127+
- Add timezone to lineage list timestamp [77736b55]
128+
- Add verbose AWS Batch job cleanup logging [504bd2df]
129+
- Add Support downloading plugins from OCI registries (#6016) [b41c65d5]
130+
- Add Support prefetching plugins metadata from plugins registry (#5887) [37d433d8]
131+
- Bring topic channels out of preview (#6030) [4b1b008b]
132+
- Data Lineage quick fixes (#6045) [f3cee76b]
133+
- Data Lineage workflow outputs fixes (#6041) [2cb49d08]
134+
- Data Lineage documentation (#5999) [c0bfc092]
135+
- Data Lineage programmatic API (#6003) [85b9d00d]
136+
- Fix NPE when params value is null [c7316eaf]
137+
- Fix `lineage find` command arguments validation (#6034) [375dc17c]
138+
- Fix concurrent modification error in `lint` command (#6053) [ccf5705e]
139+
- Fix errors in output fragment (#6020) [f947c9b4]
140+
- Fix false error in workflow output (#5982) [039ad401]
141+
- Fix small formatting inconsistencies (#6024) [c3a47605]
142+
- Fix task progress percentage with failed tasks (#5868) [7e931e83]
143+
- Fix timeout in failing test [cf3e1661]
144+
- Improve plugin template update [d33c5063]
145+
- Improve process creation logging [0121670c]
146+
- Make plugins log less verbose [38410fd0]
147+
- Minor allow null output params and values [53824bb0]
148+
- Refactor lineage annotations as list (#6022) [9280b59e]
149+
- Remove test constructors or mark as TestOnly (#5216) [d4fadd42]
150+
- Replace output `labels` with `label` directive (#6035) [f99bcd33]
151+
- Separate language and runtime reference docs (#6018) [75ad21d0]
152+
- Split standard library docs into multiple pages (#5993) [2f82d236]
153+
- Store lineage meta in root location and default to .lineage path [d1cae3be]
154+
- Use `channel` namespace to access channel factories (#6029) [26557f0c]
155+
- Use the same antlr4 dep as Groovy 4 (#5990) [bd33a76e]
156+
- Bump plugin template v0.1.0 [b54e78f3]
157+
- Bump repository provider connection timeout to 60 secs [39aaa831]
158+
- Bump nf-google@1.21.0 [b7aba74d]
159+
- Bump nf-azure@1.16.0 [e8304c1e]
160+
- Bump nf-amazon@2.15.0 [c5100f6d]
161+
3162
24.10.6 - 24 Apr 2025
4163
- Add support for Fusion Snapshots (#5954) [76a997a3]
5164
- Bump nf-wave@1.7.5 [3ddf16fb]

docs/amazons3.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,10 @@ If the access credentials are not found in the above file, Nextflow looks for AW
4646
1. The `nextflow.config` file in the pipeline execution directory
4747
2. The environment variables `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`
4848
3. The environment variables `AWS_ACCESS_KEY` and `AWS_SECRET_KEY`
49-
4. The `default` profile in the AWS credentials file located at `~/.aws/credentials`
50-
5. The `default` profile in the AWS client configuration file located at `~/.aws/config`
49+
4. The profile in the AWS credentials file located at `~/.aws/credentials`
50+
- Uses the `default `profile or the environment variable `AWS_PROFILE` if set
51+
5. The profile in the AWS client configuration file located at `~/.aws/config`
52+
- Uses the `default `profile or the environment variable `AWS_PROFILE` if set
5153
6. The temporary AWS credentials provided by an IAM instance role. See [IAM Roles](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) documentation for details.
5254

5355
More information regarding [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html) are available in the AWS documentation.

docs/aws.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ Minimal permissions policies to be attached to the AWS account used by Nextflow
8686
"ecr:ListTagsForResource"
8787
```
8888

89+
Alternatively, you can use AWS provided `AmazonEC2ContainerRegistryReadOnly` managed policy.
90+
8991
:::{note}
9092
If you are running Fargate or Fargate Spot, you may need the following policies in addition to the listed above:
9193
```json
@@ -121,7 +123,9 @@ Depending on the pipeline configuration, the above actions can be done all in a
121123
"Action": [
122124
"s3:GetObject",
123125
"s3:PutObject",
124-
"s3:DeleteObject"
126+
"s3:DeleteObject",
127+
"s3:PutObjectTagging",
128+
"s3:AbortMultipartUpload"
125129
],
126130
"Resource": "arn:aws:s3:::<bucket name>/*"
127131
},
@@ -277,7 +281,7 @@ There are several reasons why you might need to create your own [AMI (Amazon Mac
277281
### Create your custom AMI
278282

279283
From the EC2 Dashboard, select **Launch Instance**, then select **Browse more AMIs**. In the new page, select
280-
**AWS Marketplace AMIs**, and then search for **Amazon ECS-Optimized Amazon Linux 2 (AL2) x86_64 AMI**. Select the AMI and continue as usual to configure and launch the instance.
284+
**AWS Marketplace AMIs**, and then search for `Amazon ECS-Optimized Amazon Linux 2 (AL2) x86_64 AMI`. Select the AMI and continue as usual to configure and launch the instance.
281285

282286
:::{note}
283287
The selected instance has a root volume of 30GB. Make sure to increase its size or add a second EBS volume with enough storage for real genomic workloads.
@@ -346,14 +350,13 @@ The grandparent directory of the `aws` tool will be mounted into the container a
346350

347351
### Docker installation
348352

349-
Docker is required by Nextflow to execute tasks on AWS Batch. The **Amazon ECS-Optimized Amazon Linux 2 (AL2) x86_64 AMI** has Docker installed, however, if you create your AMI from a different AMI that does not have Docker installed, you will need to install it manually.
353+
Docker is required by Nextflow to execute tasks on AWS Batch. The **Amazon ECS-optimized Amazon Linux 2023 AMI** has Docker installed, however, if you create your AMI from a different AMI that does not have Docker installed, you will need to install it manually.
350354

351355
The following snippet shows how to install Docker on an Amazon EC2 instance:
352356

353357
```bash
354358
# install Docker
355359
sudo yum update -y
356-
sudo amazon-linux-extras install docker
357360
sudo yum install docker
358361

359362
# start the Docker service
@@ -363,21 +366,20 @@ sudo service docker start
363366
sudo usermod -a -G docker ec2-user
364367
```
365368

366-
You may have to reboot your instance for the changes to `ec2-user` to take effect.
369+
You must logging out and logging back in again to use the new `ec2-user` permissions.
367370

368371
These steps must be done *before* creating the AMI from the current EC2 instance.
369372

370373
### Amazon ECS container agent installation
371374

372375
The [ECS container agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_agent.html) is a component of Amazon Elastic Container Service (Amazon ECS) and is responsible for managing containers on behalf of ECS. AWS Batch uses ECS to execute containerized jobs, therefore it requires the agent to be installed on EC2 instances within your Compute Environments.
373376

374-
The ECS agent is included in the **Amazon ECS-Optimized Amazon Linux 2 (AL2) x86_64 AMI** . If you use a different base AMI, you can also install the agent on any EC2 instance that supports the Amazon ECS specification.
377+
The ECS agent is included in the **Amazon ECS-optimized Amazon Linux 2023 AMI** . If you use a different base AMI, you can also install the agent on any EC2 instance that supports the Amazon ECS specification.
375378

376379
To install the agent, follow these steps:
377380

378381
```bash
379-
sudo amazon-linux-extras disable docker
380-
sudo amazon-linux-extras install -y ecs
382+
sudo yum install ecs-init
381383
sudo systemctl enable --now ecs
382384
```
383385

0 commit comments

Comments
 (0)