change198
change198

Reputation: 2065

github remove newline from the env

I have below workflow with workflow dispatcher

jobs:
  deploy_infra:
    name: Deploy Infra    
    env:
      INFRA_ACCOUNT: >
        ${{ fromJson('{
              "dev": "12345",
              "preprd": "678234",
              "prd": "91056"
            }')[github.event.inputs.stage] }}
    steps:
      - name: Creating ARN
     
        shell: bash
        run: |
         echo "ARN is arn:aws:iam::${{ env.INFRA_ACCOUNT }}:role/aws-github-role"

Now this give me output as for stage as "dev"

ARN is arn:aws:iam::12345
:role/aws-github-role

How to fix the line break after the account number?

Upvotes: 0

Views: 1153

Answers (1)

dan1st
dan1st

Reputation: 16338

You are specifying the environment variable as follows:

      INFRA_ACCOUNT: >
        ${{ fromJson('{
              "dev": "12345",
              "preprd": "678234",
              "prd": "91056"
            }')[github.event.inputs.stage] }}

With the > operator, it adds a line break at the end. However, this can be configured using the Block Chomping Indicator.

The default behavior ("Clipping") preserves the last line break without any trailing empty lines. You can change this to Stripping by using >- instead of >. This results in the final line break being removed:

      INFRA_ACCOUNT: >-
        ${{ fromJson('{
              "dev": "12345",
              "preprd": "678234",
              "prd": "91056"
            }')[github.event.inputs.stage] }}

Upvotes: 1

Related Questions