Skip to content

feat: input variable with options to enable automatic runwayjob execution

What

How It Works

Service Project Flow:

  1. Service projects have jobs that extend .[$[[ inputs.runway_service_id ]]] Execute Job <name>
  2. These jobs in impl.yml and runway.yml trigger the deployment project with RUNWAY_EXECUTE_JOB_MODE: automatic
  3. The deployment project receives this trigger and runs 👷 <name> Run job (defined in cloud-run.yml)

Current Behavior:

  • 👷 <name> Run job sees RUNWAY_EXECUTE_JOB=true and runs with when: manual

With This Change:

  • If RUNWAY_EXECUTE_JOB_MODE=automatic, the job runs automatically
  • Otherwise, it still requires manual execution

How to Use It

In a service project's CI file (e.g., .gitlab-ci.yml), when you include the service-project file:

include:
  - project: gitlab-com/gl-infra/platform/runway/runwayctl
    file: ci-tasks/service-project/runway.yml
    inputs:
      runway_service_id: $[[ inputs.runway_service_id ]]
      runway_job_execute_mode: automatic  # New field added here
      image: $[[ inputs.container_image ]]
      runway_version: v4.3.0  # datasource=gitlab-releases depName=gitlab-com/gl-infra/platform/runway/runwayctl

Trigger Example Job - staging:
  extends: .[example-job-431wm0] Execute Job staging

Documentation update in docs!283 (merged)

Why

This change will support allowing RunwayJobs to be triggered automatically by CI.

This is ideal for cells/protocells and this Issue is motivating this feature.

Edited by Steve Xuereb

Merge request reports

Loading