Specify the run name when using the action/{}/launch endpoint
acknowledged
Ken Brewer
Currently a run-name can only be specified when using the
workflow/{}/launch
endpoint and not when using the action/{}/launch
endpoint. As a result all runs generated using the action endpoint have randomly-generated names. This is problematic for organizations trying to integrate Seqera API into a durable execution framework such as Temporal that work best when individual activities are idempotent. Without the ability to define our activities with the logic:
if not (seqera_runs.query(run_name = 'sample_id'):
seqera_action.launch(run_name = 'sample_id')
There is the risk that duplicate pipelines for the same sample but with different run names will be launched.
The workaround is using the
workflow
endpoint. But this requires us to put details about the configuration profiles, pinned versions, and other details in our orchestration platform when we'd prefer to keep that just within Seqera.This ask is also mentioned as part of https://feedback.seqera.io/feature-requests/p/actions-improvements, but I thought it was worth splitting this out as a separate item when the item shifted back to evaluating, as this seems like a small change, but is essential for enabling certain types of automation.
Ken Brewer
Rob Newman The request you linked wouldn't address our use case. Implementing a new pattern for the randomly generated names at an organization would still be "random" which breaks idempotency. For idempotent action starts we need to be able to specify the specific run_name at start time.
Rob Newman
Ken Brewer - Does the existing customization of run names feature request help in your case?
Rob Newman
acknowledged