7

I am calling a GitHub action, and I want to pass it the parameter extra_build_args with the value --build-arg CURRENT_DD_VERSION={$VER} (not in string) where $VER is a shell variable that I set with a specific version. When I check what was passed in I see it took the literal value {$VER} instead of resolving the variable. I set $VER in a different (earlier) step of the Github action. How can pass in the content of the shell variable as a parameter?

    - name: Get version
      run: |
        VER=$(cat ver.txt)
    - name: Build docker image
      uses: kciter/aws-ecr-action@v3
      with:
        //some more parameters
        extra_build_args: "--build-arg CURRENT_DD_VERSION={$VER}"
Stack Overflow
  • 377
  • 4
  • 16
  • 1
    Does this answer your question? [GitHub Actions to use variables set from shell](https://stackoverflow.com/questions/68381640/github-actions-to-use-variables-set-from-shell) – emptyhua Oct 13 '21 at 07:02

1 Answers1

4

Check first the syntax:

${VER}
# not
{$VER}

In your case:

extra_build_args: "--build-arg CURRENT_DD_VERSION=${VER}"

You also have the documentation "Environment variables"

To set custom environment variables, you need to specify the variables in the workflow file.
You can define environment variables for a step, job, or entire workflow using the jobs.<job_id>.steps[*].env, jobs.<job_id>.env, and env keywords.

The examples would use $VER
Or:

    extra_build_args: "--build-arg CURRENT_DD_VERSION=${{ env.VER }}"
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250