schdck / create-env-json

GitHub action that writes environment variables (or anything you want) to a JSON
MIT License
15 stars 15 forks source link

unable to pass GITHUB_REF var as input #5

Open richkifvel opened 3 years ago

richkifvel commented 3 years ago

Hi,

No matter which way I try I don't seem to be able to get the branch name from the default env var $GITHuB_REF to be read properly by the input variable.

The format I need to pass in is refs/head/branch-name

My Github Action as of my latest try is laid out as:

jobs:
  terraform:
    name: "Terraform"
    runs-on: ubuntu-latest
    env: 
      input: $GITHUB_REF

    steps:
      - name: Checkout
        uses: actions/checkout@v2.3.2
        with:
          ref: ${{ github.head_ref }}
          token: ${{ secrets.CROSS_REPO_TOKEN }}

      - name: create json
        uses: schdck/create-env-json@v2
        id: create-env
        with:
          file-name: 'envs.json'
          dev: name
          branch: ${{ env.input }}  ------> problem variable which can't read a variable 
          queue: plan

      - name: create json var
        shell: bash
        run: |
          echo "branch = ${{ env.input }}"
          cat | tr '[:upper:]' '[:lower:]' < ${{ steps.create-env.outputs.full-path }} 
          FILE=$(cat | tr '[:upper:]' '[:lower:]' <  ${{ steps.create-env.outputs.full-path }})
          echo JSON=$FILE >> $GITHUB_ENV

I setup cat to check the json file which produces the following results:

The above code results in: {"DEV":"name","BRANCH":"$GITHUB_REF","QUEUE":"plan"}

What I've tried otherwise is referencing the default env var directly: branch: $GITHUB_REF results in nothing being passed eg branch: {"DEV":"name","BRANCH":"","QUEUE":"plan"}

I am additionally echoing the variable so check the variable string and this returns the branch name as expected. Any idea as to why the create-env-json action cannot read the variables?

Thanks,

cluuu commented 2 years ago

@richkifvel I am currently facing the same issue. Did you find a solution for this?