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.