Simple launch endpoint for existing pipeline
acknowledged
Adam Talbot
Currently there are two ways to launch a pipeline via the API:
- Populate the body of a POST /workflow/launchrequest, which requires getting a number of details such as the compute environment and configuration
- Create an action and POST /actions/${actionId}/launch, which only take pipeline params as options
It would be nicer to reconcile the two and have a simpler flow:
- Create pipeline on Seqera Platform
- Launch specified pipeline using an endpoint, e.g. POST /pipeline/${pipelineId}/launch
Importantly you would only be able to modify a very limited subset of options with this option, e.g. the pipeline parameters. This would save the automation developer the time and effort in writing a number of requests to GET settings before launching a pipeline via automation. The revision, compute environment, working directory, staging options and many other settings would be fixed and require addition of a new pipeline for a launch.
This has some overlap with some other feature requests such as:
- API equivalent of this feature request
Rob Newman
acknowledged
Rob Newman
Merged in a post:
Remove workDir requirement in the Launch API endpoint
B
Brass Wildcat
If a
workDir
is not defined in the Launch API endpoint, fallback to the workDir
set in the compute environment instead of returning an error "Missing workflow launch work directory"Currently, you can set the following on the compute environment, but these are not being picked up by the workflow when launched:
- workDir
- preRunScript
- postRunScript
Anton Tsyganov-Bodounov
Merged in a post:
work_dir seems to now be required for workflow/launch endpoint?
Anuj Garlapati
Here are additional details/context about the feature request.
Current Situation:
Previously when launching a workflow using POST: workflow/launch, you didn't need to provide the workDir unless you wanted to override the default workDir set in the compute environment. At some point, it became mandatory to provide the workDir during workflow launch
A Workaround now since the platform doesn't store the workDir from the compute environment automatically, they are now working around it by making a separate call to GET: compute-envs/{id} to manually retrieve the workDir.
Suggestion / Request
Customer is requesting that:
The workDir field in POST: workflow/launch should be made optional again.
If a compute environment ID is included in the request, the platform should automatically look up the workDir from the compute environment.
This would eliminate the need for clients to manually fetch the workDir.
D
Decent Macaw
Btw: I feel like the title of this feature request is quite misleading. Can someone change it? Otherwise I might reopen a new one to gain better visibility.
D
Decent Macaw
I would like to stretch the importance of this when using Seqera via its API. Without allowing prefilling of those fields you have to do many unnecessary API calls just to read the defaults of the compute env and unnecessarily attach it to your POST request to run a pipeline.
Please reconsider priority. Should be a quick fix. You are using the settings of the compute env already when one registers a new pipeline to be saved in the workspace! This even makes the usage of defaults kind of inconsistent.