Skip to content

Commit f535a85

Browse files
authored
Merge pull request #92 from seqeralabs/dev
Dev -> Main for release 0.7.0
2 parents 02aa6a7 + 52b2d3d commit f535a85

27 files changed

Lines changed: 301 additions & 152 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,32 @@
1+
//
2+
// MAIN PRODUCTION DEVCONTAINER CONFIG
3+
// Uses image that is pre-built and pushed to GitHub
4+
// See .github/.devcontainer/devcontainer.json for build
5+
//
16
{
2-
"name": "nfcore",
3-
"image": "nfcore/gitpod:latest",
4-
"remoteUser": "gitpod",
5-
"runArgs": ["--privileged"],
6-
7-
// Configure tool-specific properties.
7+
"name": "nf-aggregate",
8+
"image": "ghcr.io/nextflow-io/training:latest",
9+
"workspaceFolder": "/workspaces/nf-aggregate",
10+
"remoteUser": "root",
11+
"remoteEnv": {
12+
// Nextflow installation version
13+
"NXF_HOME": "/workspaces/.nextflow",
14+
"NXF_EDGE": "0",
15+
"NXF_VER": "24.10.4",
16+
// Other env vars
17+
"HOST_PROJECT_PATH": "/workspaces/nf-aggregate",
18+
"SHELL": "/bin/bash" // Ush bash
19+
},
20+
"onCreateCommand": "bash .devcontainer/setup.sh",
821
"customizations": {
9-
// Configure properties specific to VS Code.
1022
"vscode": {
11-
// Set *default* container specific settings.json values on container create.
23+
"extensions": ["nf-core.nf-core-extensionpack"],
24+
// Use Python from conda
1225
"settings": {
1326
"python.defaultInterpreterPath": "/opt/conda/bin/python"
1427
},
15-
16-
// Add the IDs of extensions you want installed when the container is created.
17-
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
28+
// Use bash
29+
"terminal.integrated.defaultProfile.linux": "bash"
1830
}
1931
}
2032
}

.devcontainer/setup.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
3+
# Fix for Java options
4+
printf 'unset JAVA_TOOL_OPTIONS\n' >> $HOME/.bashrc
5+
unset JAVA_TOOL_OPTIONS
6+
7+
# Customise the terminal command prompt
8+
printf "export PS1='\\[\\e[3;36m\\]\${PWD#/workspaces/} ->\\[\\e[0m\\] '\n" >> $HOME/.bashrc
9+
export PS1='\[\e[3;36m\]${PWD#/workspaces/} ->\[\e[0m\] '
10+
11+
# Force Java environment variables to use conda installation
12+
printf 'export JAVA_HOME=/opt/conda\nexport JAVA_CMD=/opt/conda/bin/java\n' >> $HOME/.bashrc
13+
export JAVA_HOME=/opt/conda
14+
export JAVA_CMD=/opt/conda/bin/java
15+
16+
# Update Nextflow
17+
nextflow self-update
18+
nextflow -version
19+
20+
cat /usr/local/etc/vscode-dev-containers/first-run-notice.txt

.nf-core.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,4 @@ template:
5858
- ci
5959
- igenomes
6060
- nf_core_configs
61-
version: 0.6.0
61+
version: 0.7.0

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"markdown.styles": ["public/vscode_markdown.css"]
2+
"markdown.styles": ["public/vscode_markdown.css"],
3+
"nextflow.telemetry.enabled": false
34
}

CHANGELOG.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,36 @@
33
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
44
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
55

6-
## 0.6.0
6+
## [[0.7.0](https://github.com/seqeralabs/nf-aggregate/releases/tag/0.7.0)] - 2025-05-05
7+
8+
Special thanks to the following for their contributions to the release:
9+
10+
- [Edmund Miller](https://github.com/edmundmiller)
11+
- [Florian Wuennemann](https://github.com/FloWuenne)
12+
- [Maxime Garcia](https://github.com/maxulysse)
13+
14+
Thank you to everyone else that has contributed by reporting bugs, enhancements or in any other way, shape or form.
15+
16+
### Enhancements & fixes
17+
18+
- [PR #88](https://github.com/seqeralabs/nf-aggregate/pull/88) - Update tw cli container version to 0.11.2 and allow .nextflow.log to be missing from tw call
19+
- [PR #89](https://github.com/seqeralabs/nf-aggregate/pull/89) - Enable usage of external run dumps with nf-aggregate & update devcontainer specifications
20+
- [PR #91](https://github.com/seqeralabs/nf-aggregate/pull/91) - Update benchmark report image to include a fix causing large memory footprint for reshaping large AWS cost report files
21+
22+
### Software dependencies
23+
24+
| Dependency | Old version | New version |
25+
| ----------------- | ----------- | ----------- |
26+
| `tower-cli` | 0.9.2 | 0.11.2 |
27+
| BENCHMARK_REPORTS | sha-48cfed7 | sha-a6d15e8 |
28+
29+
> **NB:** Dependency has been **updated** if both old and new version information is present.
30+
>
31+
> **NB:** Dependency has been **added** if just the new version information is present.
32+
>
33+
> **NB:** Dependency has been **removed** if new version information isn't present.
34+
35+
## [[0.6.0](https://github.com/seqeralabs/nf-aggregate/releases/tag/0.6.0)] - 2025-03-31
736

837
### Credits
938

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,21 @@ id,workspace,group
6969
4VLRs7nuqbAhDy,community/showcase,group2
7070
```
7171

72+
## Use logs from an external Seqera Platform deployment
73+
74+
Sometimes we want to compile benchmark reports from runs from two different Seqera platform deployments, for example a dev and a production environment to compare performance. External logs in nf-aggregate can be used by specifying the workspace as `external` and providing some additional optional columns that point to the log folder and specify whether these external logs contain fusion logs (did you export them with the `--add-fusion-logs` flag in your `tw run dumps`. If they do contain fusion logs, you can generate a gannt plot for them, as for runs supplied only via id.)
75+
76+
Here is an example of using a mix of run ids for which we want to extract logs from our platform deployment and some run logs from another deployment we want to compare. In the example below, `1JI5B1avuj3o58` is a run that contains fusion logs, while `1vsww7GjKBsVNa` does not contain fusion logs.
77+
78+
```
79+
id,workspace,group,logs,fusion
80+
3VcLMAI8wyy0Ld,community/showcase,group1,
81+
1JI5B1avuj3o58,external,group2,/path/to/my/run_dumps_tarball.tar.gz,true
82+
1vsww7GjKBsVNa,external,group2,/path/to/my/run_dumps_folder,false
83+
```
84+
85+
## Incorporate AWS split cost allocation data
86+
7287
To incorporate AWS cost data into the benchmark report, use the `benchmark_aws_cur_report` parameter. This should point to a valid AWS Cost and Usage Report (CUR) file in Parquet format, currently only supporting CUR 1.0. The file can be stored locally or in a cloud bucket.
7388
To run nf-aggregate and generate benchmark reports, you can use the following command:
7489

assets/schema_input.json

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,26 @@
1515
},
1616
"workspace": {
1717
"type": "string",
18-
"pattern": "^[a-zA-Z0-9](?:[a-zA-Z0-9]|[-_](?=[a-zA-Z0-9])){1,38}/[a-zA-Z0-9](?:[a-zA-Z0-9]|[-_](?=[a-zA-Z0-9])){1,38}$",
19-
"errorMessage": "Please provide a valid Seqera Platform Workspace name",
18+
"pattern": "^(?:external|[a-zA-Z0-9][a-zA-Z0-9-_]{0,38}/[a-zA-Z0-9][a-zA-Z0-9-_]{0,38})$",
19+
"errorMessage": "Please provide a valid Seqera Platform Workspace name or 'external'",
2020
"meta": ["workspace"]
2121
},
2222
"group": {
2323
"type": "string",
2424
"pattern": "^[a-zA-Z0-9][-a-zA-Z0-9_ ]{0,37}$",
2525
"errorMessage": "Please provide a valid group name",
2626
"meta": ["group"]
27+
},
28+
"logs": {
29+
"type": "string",
30+
"format": "file-path",
31+
"pattern": "^\\S+$",
32+
"errorMessage": "Please provide a valid file path to your Seqera Platform logs.",
33+
"meta": ["logs"]
34+
},
35+
"fusion": {
36+
"type": "boolean",
37+
"meta": ["fusion"]
2738
}
2839
},
2940
"required": ["id", "workspace"]

modules/local/benchmark_report/main.nf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
process BENCHMARK_REPORT {
22

3-
container 'cr.seqera.io/scidev/benchmark-reports:sha-48cfed7'
3+
container 'cr.seqera.io/scidev/benchmark-reports:sha-a6d15e8'
44

55
input:
66
path run_dumps

modules/local/benchmark_report/nextflow.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ process {
22
withName: 'BENCHMARK_REPORT' {
33
publishDir = [
44
path: { "${params.outdir}/${metaOut?.projectName?.replace("/", "_") ?: ""}/benchmark_report" },
5-
mode: params.publish_dir_mode,
5+
mode: 'copy',
66
saveAs: { filename -> filename.equals('versions.yml') || filename.endsWith('.json') ? null : filename }
77
]
88
containerOptions = "--user root"

modules/local/plot_run_gantt/nextflow.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ process {
22
withName: 'PLOT_RUN_GANTT' {
33
publishDir = [
44
path: { "${params.outdir}/${meta.projectName?.replace("/", "_") ?: ""}/gantt" },
5-
mode: params.publish_dir_mode,
5+
mode: 'copy',
66
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
77
]
88
}

0 commit comments

Comments
 (0)