chore(deps): update graalvm/setup-graalvm action to v1.5.2 (#603)
Co-authored-by: seqeralabs-renovate[bot] <269134929+seqeralabs-renovate[bot]@users.noreply.github.com> Co-authored-by: Cristian Ramon-Cortes cristianrcv@users.noreply.github.com
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
tw CLI
twis Seqera Platform on the command line. It brings Seqera concepts like pipelines, actions, and compute environments to the terminal.Seqera Platform is a full-stack application for the management of data pipelines and compute resources. It enables collaborative data analysis at scale, on-premises or in any cloud.
The CLI interacts with Seqera to provide an interface to launch pipelines, manage cloud resources, and administer your analysis.
The key features are:
A Nextflow-like experience: tw CLI provides a developer-friendly environment. Pipelines can be launched with the CLI similarly to Nextflow but with the Seqera benefits of monitoring, logging, resource provisioning, dataset management, and collaborative sharing.
Infrastructure as Code: All Seqera resources, including pipelines and compute environments, can be described in a declarative manner. This enables a complete definition of an analysis environment that can be versioned and treated as code. It greatly simplifies configuration sharing and routine administration.
Built on OpenAPI: tw CLI interacts with Seqera via the Seqera Platform API which uses the OpenAPI 3.0 specification. The CLI provides full control of the Seqera application, allowing users to get maximum insights into pipeline submissions and execution environments.
See the Seqera Platform documentation to learn more about the application.
Availability
tw CLI can be installed on macOS, Windows, and Linux.
It is compatible with Seqera Cloud and Enterprise versions 21.08 and later.
Getting Started
This guide covers the installation and configuration of the CLI, cloud infrastructure provisioning, and launching pipelines into an AWS Batch compute environment.
1. Installation
Download the latest version for your OS from the assets on the releases page.
Rename and make the file executable:
Move the file to a directory accessible to your
$PATHvariable:Alternative: Homebrew (Linux and macOS)
tw-cli is published to the Seqera Homebrew tap and can be installed like this:
2. Configuration
You need an access token for the CLI to interact with your Seqera instance. Select User tokens from the user menu in the Seqera UI, then select Add token to create a new token.
Copy the access token value and use it with the CLI in one of two ways:
Environment variable:
Export the token as a shell variable directly into your terminal:
Add the
exportcommand to your.bashrc,.zshrc, or.bash_profilefile for it to be permanently added to your environment.tw command flag:
Provide the access token directly in your
twcommand with--access-token:If required, configure the following non-mandatory environment variables using the same methods above:
TOWER_WORKSPACE_ID: Workspace ID. Default: The user workspace.TOWER_API_ENDPOINT: Seqera API URL. Default:api.cloud.seqera.io.3. Health check
Confirm the installation, configuration, and connection:
twCLI commandsSee Usage for detailed instructions to use the CLI.
Autocompletion
Activate autocompletion in your current session with this command:
Custom SSL certificate authority store
If you are using a Private CA SSL certificate not recognized by the default Java certificate authorities, use a custom
cacertsstore:You can rename the binary to
tw-binaryand create atwscript to automatically include the customcacertsstore in every session:Build binary development versions
tw CLI is a platform binary executable created by a native compilation from Java GraalVM. To compile and build a development version of the binary:
If necessary, install SDKMan!
From the root of the tower-cli project, install GraalVM:
This ensures that SDKMan uses the tower-cli project-specific
.sdkmanrcconfiguration.Export your Github credentials. Github requires authentication for public packages (the token only requires the
read:packagesscope):Update reflection metadata config for new Tower SDK version (optional)
This step is only needed if you are updating to a newer version of Tower SDK (io.seqera.tower:tower-java-sdk).
The GraalVM reflection metadata generation relies on code paths being executed with the Tracing Agent to dynamically capture various execution paths and update the
reflect-config.jsonandresource-config.jsonfiles. This is a utility task that uses reflection to make calls to all classes in the Tower SDK package in order to capture and generate methods reflection metadata of any new fields/classes in Tower SDK.Additionally, for more complete coverage, run the test suite with the Tracing Agent enabled:
Create the native client:
This will install a locally compiled version of
twin the nativeCompile directory:Run
tw:Non-binary development versions
Run a non-binary development version by executing the
./twscript in the root of this repository.License
Apache 2.0