Skip to content

Commit 1777ff5

Browse files
committed
Merge remote-tracking branch 'origin/master' into add-homebrew
2 parents 8971c62 + bcb3d9d commit 1777ff5

File tree

92 files changed

+4399
-600
lines changed

Some content is hidden

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

92 files changed

+4399
-600
lines changed

.github/workflows/build.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup Graalvm
2727
uses: graalvm/setup-graalvm@v1
2828
with:
29-
java-version: '17.0.8'
29+
java-version: '21'
3030
distribution: 'graalvm'
3131
components: 'native-image'
3232
native-image-musl: 'true'
@@ -83,7 +83,7 @@ jobs:
8383

8484
mac-image:
8585
name: MAC
86-
runs-on: macos-latest
86+
runs-on: macos-latest-large
8787
timeout-minutes: 90
8888

8989
steps:
@@ -96,7 +96,7 @@ jobs:
9696
- name: Setup Graalvm
9797
uses: graalvm/setup-graalvm@v1
9898
with:
99-
java-version: '17.0.8'
99+
java-version: '21'
100100
distribution: 'graalvm'
101101
components: 'native-image'
102102
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -184,7 +184,7 @@ jobs:
184184
uses: graalvm/setup-graalvm@v1
185185
with:
186186
version: 'latest'
187-
java-version: '17.0.8'
187+
java-version: '21'
188188
distribution: 'graalvm'
189189
components: 'native-image'
190190
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -278,7 +278,7 @@ jobs:
278278
- name: Setup Graalvm
279279
uses: graalvm/setup-graalvm@v1
280280
with:
281-
java-version: '17.0.8'
281+
java-version: '21'
282282
distribution: 'graalvm'
283283
components: 'native-image'
284284
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -340,7 +340,7 @@ jobs:
340340
- name: Setup Java for JReleaser
341341
uses: actions/setup-java@v4
342342
with:
343-
java-version: 17.0.8
343+
java-version: '21'
344344
distribution: 'adopt'
345345

346346
- name: Version

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
# Ignore Gradle project-specific cache directory
22
.gradle
33
.idea
4-
4+
.env
55
# Ignore Gradle build output directory
66
build
77
**/build-info.properties
88

99
# Location for unshared files
10-
.user/
10+
.user/
11+
12+
13+
*.iml

.sdkmanrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Enable auto-env through the sdkman_auto_env config
22
# Add key=value pairs of SDKs to use below
3-
java=17.0.8-graalce
3+
java=21.0.4-graal

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,4 @@ Run a non-binary development version by executing the [`./tw`](tw) script in the
175175
176176
## License
177177
178-
[Mozilla Public License v2.0](https://github.com/seqeralabs/tower-cli/blob/master/LICENSE.txt)
178+
[Apache 2.0](https://github.com/seqeralabs/tower-cli/blob/master/LICENSE.txt)

USAGE.md

Lines changed: 137 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ $ tw launch my_rnaseq_nf_pipeline
203203

204204
Workflow 1XCXxX0vCX8xhx submitted at user workspace.
205205

206-
https://tower.nf/user/abhinav/watch/1XCXxX0vCX8xhx
206+
https://cloud.seqera.io/user/abhinav/watch/1XCXxX0vCX8xhx
207207
```
208208

209209
When using `--wait`, `tw` can exit with one of two exit codes:
@@ -222,7 +222,7 @@ $ tw launch my_rnaseq_nf_pipeline --params-file=my_rnaseq_nf_pipeline_params_2.y
222222

223223
Workflow 2XDXxX0vCX8xhx submitted at user workspace.
224224

225-
https://tower.nf/user/abhinav/watch/2XDXxX0vCX8xhx
225+
https://cloud.seqera.io/user/abhinav/watch/2XDXxX0vCX8xhx
226226
```
227227

228228
See [Nextflow configuration][nextflow-config] for more information.
@@ -236,7 +236,7 @@ $ tw launch https://github.com/nf-core/rnaseq --params-file=./custom_rnaseq_para
236236

237237
Workflow 2XDXxX0vCX8xhx submitted at user workspace.
238238

239-
https://tower.nf/user/abhinav/watch/2XDXxX0vCX8xhx
239+
https://cloud.seqera.io/user/abhinav/watch/2XDXxX0vCX8xhx
240240
```
241241

242242
- Pipeline parameters are defined within the `custom_rnaseq_params.yaml` file.
@@ -413,7 +413,7 @@ $ tw runs dump -i 5z4AMshti4g0GK -o file.tar.gz
413413
Run `tw workspaces -h` to view supported workspace operations.
414414
Run `tw workspaces add -h` to view the required and optional fields for adding your workspace.
415415

416-
Workspaces provide the context in which a user launches workflow executions, defines the available resources, and manages who can access those resources. Workspaces contain pipelines, runs, actions, datasets, compute environments, credentials, and secrets. Access permissions are controlled with participants, collaborators, and teams.
416+
Workspaces provide the context in which a user launches workflow executions, defines the available resources, and manages who can access those resources. Workspaces contain pipelines, runs, actions, compute environments, credentials, datasets, data links, and secrets. Access permissions are controlled with participants, collaborators, and teams.
417417

418418
See [User workspaces][user-workspaces] for more information.
419419

@@ -484,6 +484,138 @@ $ tw participants update [email protected] --type=COLLABORATOR -
484484
Participant '[email protected]' has now role 'maintain' for workspace 'shared-workspace'
485485
```
486486

487+
## Data Links
488+
489+
Run `tw data-links -h` to view supported data link operations.
490+
491+
Data links allow you to work with public and private cloud storage buckets in Data Explorer in the specified workspace. See [Data Explorer][data-explorer] for more information. AWS S3, Azure Blob Storage, and Google Cloud Storage are supported. The full list of operations are:
492+
493+
- `list`: List data links in a workspace
494+
- `add`: Add a custom data link to a workspace
495+
- `update`: Update a custom data link in a workspace
496+
- `delete`: Delete a custom data link from a workspace
497+
- `browse`: Browse the contents of a data link in a workspace
498+
499+
### List data links
500+
501+
Run `tw data-links list -h` to view all the optional fields for listing data links in a workspace. If a workspace is not defined, the `TOWER_WORKSPACE_ID` workspace is used by default. Data links can be one of two types:
502+
503+
- `v1-cloud-<id>`: **cloud** data links auto-discovered using credentials attached to the workspace
504+
- `v1-user-<id>`: **custom** data links created by users
505+
506+
```console
507+
$ tw data-links list -w seqeralabs/showcase
508+
509+
Data links at [seqeralabs / showcase] workspace:
510+
511+
ID | Provider | Name | Resource ref | Region
512+
-------------------------------------------+----------+--------------------------------+-----------------------------------------------------------------+-----------
513+
v1-cloud-833bb845bd9ec1970c4a7b0bb7b8c4ad | aws | e2e-data-explorer-tests-aws | s3://e2e-data-explorer-tests-aws | eu-west-2
514+
v1-cloud-60700a33ec3fae68d424cf948fa8d10c | aws | nf-tower-bucket | s3://nf-tower-bucket | eu-west-1
515+
v1-user-09705781697816b62f9454bc4b9434b4 | aws | vscode-analysis-demo | s3://seqera-development-permanent-bucket/studios-demo/vscode/ | eu-west-2
516+
v1-user-0dede00fabbc4b9e2610261822a2d6ae | aws | seqeralabs-showcase | s3://seqeralabs-showcase | eu-west-1
517+
v1-user-171aa8801cabe4af71500335f193d649 | aws | projectA-rnaseq-analysis | s3://seqeralabs-showcase/demo/nf-core-rnaseq/ | eu-west-1
518+
519+
<snip>
520+
521+
v1-user-bb4fa9625a44721510c47ac1cb97905b | aws | genome-in-a-bottle | s3://giab | us-east-1
522+
v1-user-e7bf26921ba74032bd6ae1870df381fc | aws | NCBI_Sequence_Read_Archive_SRA | s3://sra-pub-src-1/ | us-east-1
523+
524+
Showing from 0 to 99 from a total of 16 entries.
525+
```
526+
527+
### Add a custom data link
528+
529+
Run `tw data-links add -h` to view all the required and optional fields for adding a custom data link to a workspace. Users with the `MAINTAIN` role and above for a workspace can add custom data links. The data link `name`, `uri` and `provider` (one of `aws`, `azure`, or `google`) fields are required. If adding a custom data link for a private bucket, the `credentials` identifier field is also required. Adding a custom data link for a public bucket doesn't require credentials.
530+
531+
```console
532+
$ tw data-links add -w seqeralabs/showcase -n FOO -u az://seqeralabs.azure-benchmarking -p azure -c seqera_azure_credentials
533+
534+
Data link created:
535+
536+
ID | Provider | Name | Resource ref | Region
537+
------------------------------------------+----------+------+------------------------------------+--------
538+
v1-user-152116183ee325463901430bb9efb8c9 | azure | FOO | az://seqeralabs.azure-benchmarking |
539+
```
540+
541+
### Update a custom data link
542+
543+
Run `tw data-links update -h` to view all the required and optional fields for updating a custom data link in a workspace. Users with the `MAINTAIN` role and above for a workspace can update custom data links.
544+
545+
```console
546+
$ tw data-links update -w seqeralabs/showcase -i v1-user-152116183ee325463901430bb9efb8c9 -n BAR
547+
548+
Data link updated:
549+
550+
ID | Provider | Name | Resource ref | Region
551+
------------------------------------------+----------+------+------------------------------------+--------
552+
v1-user-152116183ee325463901430bb9efb8c9 | azure | BAR | az://seqeralabs.azure-benchmarking |
553+
```
554+
555+
### Delete a custom data link
556+
557+
Run `tw data-links delete -h` to view all the required and optional fields for deleting a custom data link from a workspace. Users with the `MAINTAIN` role and above for a workspace can delete custom data links.
558+
559+
```console
560+
$ tw data-links delete -w seqeralabs/showcase -i v1-user-152116183ee325463901430bb9efb8c9
561+
562+
Data link 'v1-user-152116183ee325463901430bb9efb8c9' deleted at '138659136604200' workspace.
563+
```
564+
565+
### Browse the contents of a data link
566+
567+
Run `tw data-links browse -h` to view all the required and optional fields for browsing a data link in a workspace. Define the data link id using the required `-i` or `--id` argument, which can be found by first using the `list` operation for a workspace. In the example below, a `name` is optionally defined to only retrieve data links with names that start with the given word:
568+
569+
```console
570+
$ tw data-links list -w seqeralabs/showcase -n 1000genomes
571+
572+
Data links at [seqeralabs / showcase] workspace:
573+
574+
ID | Provider | Name | Resource ref | Region
575+
------------------------------------------+----------+-------------+------------------+-----------
576+
v1-user-6d8f44c239e2a098b3e02e918612452a | aws | 1000genomes | s3://1000genomes | us-east-1
577+
578+
Showing from 0 to 99 from a total of 1 entries.
579+
580+
$ tw data-links browse -w seqeralabs/showcase -i v1-user-6d8f44c239e2a098b3e02e918612452a
581+
582+
Content of 's3://1000genomes' and path 'null':
583+
584+
Type | Name | Size
585+
--------+--------------------------------------------+----------
586+
FILE | 20131219.populations.tsv | 1663
587+
FILE | 20131219.superpopulations.tsv | 97
588+
FILE | CHANGELOG | 257098
589+
FILE | README.alignment_data | 15977
590+
FILE | README.analysis_history | 5289
591+
FILE | README.complete_genomics_data | 5967
592+
FILE | README.crams | 563
593+
FILE | README.ebi_aspera_info | 935
594+
FILE | README.ftp_structure | 8408
595+
FILE | README.pilot_data | 2082
596+
FILE | README.populations | 1938
597+
FILE | README.sequence_data | 7857
598+
FILE | README_missing_files_20150612 | 672
599+
FILE | README_phase3_alignments_sequence_20150526 | 136
600+
FILE | README_phase3_data_move_20150612 | 273
601+
FILE | alignment.index | 3579471
602+
FILE | analysis.sequence.index | 54743580
603+
FILE | exome.alignment.index | 3549051
604+
FILE | sequence.index | 67069489
605+
FOLDER | 1000G_2504_high_coverage/ | 0
606+
FOLDER | alignment_indices/ | 0
607+
FOLDER | changelog_details/ | 0
608+
FOLDER | complete_genomics_indices/ | 0
609+
FOLDER | data/ | 0
610+
FOLDER | hgsv_sv_discovery/ | 0
611+
FOLDER | phase1/ | 0
612+
FOLDER | phase3/ | 0
613+
FOLDER | pilot_data/ | 0
614+
FOLDER | release/ | 0
615+
FOLDER | sequence_indices/ | 0
616+
FOLDER | technical/ | 0
617+
```
618+
487619
[compute-envs]: https://docs.seqera.io/platform/latest/compute-envs/overview
488620
[credentials]: https://docs.seqera.io/platform/latest/credentials/overview
489621
[git-integration]: https://docs.seqera.io/platform/latest/git/overview
@@ -493,3 +625,4 @@ $ tw participants update [email protected] --type=COLLABORATOR -
493625
[tower-agent]: https://github.com/seqeralabs/tower-agent
494626
[user-workspaces]: https://docs.seqera.io/platform/latest/orgs-and-teams/workspace-management
495627
[wave-docs]: https://www.nextflow.io/docs/latest/wave.html
628+
[data-explorer]: https://docs.seqera.io/platform/latest/data/data-explorer

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.9.2
1+
0.10.3

build.gradle

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,21 @@ plugins {
33
id 'application'
44
id 'jacoco'
55
id 'org.cadixdev.licenser' version '0.6.1'
6-
id 'org.graalvm.buildtools.native'
6+
id 'org.graalvm.buildtools.native' version '0.10.2'
77
id 'com.github.johnrengelman.shadow' version '7.1.2'
88
}
99

10+
// define these in the `gradle.properties` file
11+
ext.githubUser = project.findProperty('github.packages.user')
12+
ext.githubToken = project.findProperty('github.packages.token')
13+
1014
repositories {
1115
mavenCentral()
1216
maven {
1317
url = uri("https://maven.pkg.github.com/seqeralabs/tower-java-sdk")
1418
credentials {
15-
username = System.getenv("GITHUB_USERNAME")
16-
password = System.getenv("GITHUB_TOKEN")
19+
username = githubUser ?: System.getenv("GITHUB_USERNAME")
20+
password = githubToken ?: System.getenv("GITHUB_TOKEN")
1721
}
1822
}
1923
}
@@ -23,7 +27,7 @@ dependencies {
2327
implementation 'org.slf4j:slf4j-api:1.7.36'
2428
implementation 'ch.qos.logback:logback-core:1.2.11'
2529
implementation 'ch.qos.logback:logback-classic:1.2.11'
26-
implementation 'io.seqera.tower:tower-java-sdk:1.9.5'
30+
implementation 'io.seqera.tower:tower-java-sdk:1.9.9'
2731
implementation 'info.picocli:picocli:4.6.3'
2832
implementation 'org.apache.commons:commons-compress:1.22'
2933
implementation 'org.tukaani:xz:1.9'
@@ -67,6 +71,12 @@ task buildInfo {
6771
}
6872
}
6973

74+
java {
75+
toolchain {
76+
languageVersion = JavaLanguageVersion.of(21)
77+
}
78+
}
79+
7080
compileJava {
7181
sourceCompatibility = JavaVersion.toVersion("11")
7282
targetCompatibility = JavaVersion.toVersion("11")
@@ -93,6 +103,7 @@ test {
93103
}
94104

95105
graalvmNative {
106+
toolchainDetection = true
96107
binaries {
97108
main {
98109
imageName = 'tw'
@@ -109,14 +120,14 @@ graalvmNative {
109120
buildArgs.add('-H:+ReportExceptionStackTraces')
110121

111122
javaLauncher = javaToolchains.launcherFor {
112-
languageVersion = JavaLanguageVersion.of(17)
123+
languageVersion = JavaLanguageVersion.of(21)
124+
vendor = JvmVendorSpec.matching("Oracle Corporation")
113125
}
114126

115127
}
116128

117129
test {
118130
verbose = true
119-
agent = false
120131
}
121132
}
122133
}

0 commit comments

Comments
 (0)