skip to Main Content

I want to pass maven image version as as env variable but when i am trying to access that env.MAVEN_VERSION variable getting error

Error- The workflow is not valid. .github/workflows/Merge.yaml (Line: 13 image:) Unrecognized named-value: ‘env’. Located at position 1 within expression: env.MAVEN_VERSION

Yaml File —

on:
  push:
    branches: [ master ]

env:
  MAVEN_VERSION: maven:3.8.6-jdk-11
  
jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: ${{ env.MAVEN_VERSION }}
    steps:
    - name: Env Variable
      run: echo ${{ env.MAVEN_VERSION }}

2

Answers


  1. when i am trying to access that…

    That’s not what the error is telling you about. The error Unrecognized named-value: 'env' is telling you that GitHub is not recognizing the YAML you wrote at line 13. It’s a syntax error.

    In a GitHub workflow you can use env either in jobs.<job_id>.env or in jobs.<job_id>.steps[*].env. See here for details.

    This YAML should work:

    on:
      push:
        branches: [ master ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        container:
          image: ${{ env.MAVEN_VERSION }}
        steps:
          - name: Env Variable
            env:
              MAVEN_VERSION: maven:3.8.6-jdk-11
            run: echo ${{ env.MAVEN_VERSION }}
    

    Also, note that when you only specify a container image, you can omit the image keyword.

    Login or Signup to reply.
  2. While env is not available, outputs from previous jobs are.
    Consider the following example

    on:
      push:
        branches: [ master ]
    
    env:
      MAVEN_VERSION: maven:3.8.6-jdk-11
      
    jobs:
      prepare-image:
        runs-on: ubuntu-latest
        outputs:
          image: ${{ env.MAVEN_VERSION }}
    
      build:
        runs-on: ubuntu-latest
        needs: [prepare-image]
        container:
          image: ${{ needs.prepare-image.outputs.image }}
        steps:
        - name: Echo output
          run: echo ${{ needs.prepare-image.outputs.image }}
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search