Skip to content

Unable to use revision_traffic without an image #537

@jacobwgillespie

Description

@jacobwgillespie

TL;DR

Previously it was possible to use this action with a revision_traffic as a standalone step, which would call gcloud run services update-traffic. After v2.7.0, the standalone step will try to call gcloud run deploy instead and will error as it is lacking an image.

Expected behavior

It would be nice to maintain the ability to separate the deploy step and the traffic shift step. If this is however not intended, a note about this change should be added to the CHANGELOG.

Observed behavior

Using revision_traffic by itself now calls gcloud run deploy and errors

Action YAML

    steps:
      - name: Deploy to Cloud Run
        uses: google-github-actions/deploy-cloudrun@v2
        with:
          project_id: ID
          region: us-east4
          service: api
          image: us-docker.pkg.dev/path/to/image:${{ github.sha }}
          suffix: ${{ github.sha }}

      - name: Shift traffic to deployment
        uses: google-github-actions/deploy-cloudrun@v2
        with:
          project_id: ID
          region: us-east4
          service: api
          revision_traffic: api-${{ github.sha }}=100

Log output

Error: google-github-actions/deploy-cloudrun failed with: failed to execute gcloud command `gcloud run deploy api --update-labels ^,^managed-by=github-actions,commit-sha=xxxxxxxxxxxxxxxxxxx --format json --region us-east4 --project ID`: ERROR: (gcloud.run.deploy) Missing required argument [--image]: Requires a container image to deploy (e.g. `gcr.io/cloudrun/hello:latest`) if no build source is provided.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions