False positive error for action output

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
38/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
github-actions, go
Domain
ci-cd, devtools

Research direction

Start by reproducing the reported EA811 diagnostics with the GitHub Actions YAML shown in the issue, then inspect the validator's handling of expressions used in action output assignments. Done means the shown workflow no longer produces false 'output does not exist' errors while genuinely missing outputs remain detectable.

Written by the indexing model from the issue text.

Description

On example on this run:

EA811: action create-featurenet step 5 Called step with id 'get-argocd-featurnet-app-name' output 'name' does not exist
EA811: action create-featurenet step 6 Called step with id 'get-argocd-featurnet-app-name' output 'name' does not exist
EA811: action create-featurenet step 8 Called step with id 'get-argocd-featurnet-app-name' output 'name' does not exist
EA811: action delete-featurenet step 6 Called step with id 'get-argocd-featurnet-app-name' output 'name' does not exist
EA811: action delete-featurenet step 9 Called step with id 'get-argocd-featurnet-app-name' output 'name' does not exist
This error comes from the below code

    - name: Get argocd featurenet app name
      id: get-argocd-featurnet-app-name
      shell: bash
      env:
        # yamllint disable-line rule:line-length
        APP_NAME: ${{ inputs.featurenet-name != '' && inputs.featurenet-name || format('{0}{1}', 'fe-', steps.get-ref-properties.outputs.branch-name-for-argo) }}
      run: |
        echo "name=${{ env.APP_NAME }}" >> $GITHUB_OUTPUT

Most likely problem is that validator sees GH expression and cannot parse name identifier correctly.

The workaround is:

    - name: Get argocd featurenet app name
      id: get-argocd-featurnet-app-name
      shell: bash
      env:
        # yamllint disable-line rule:line-length
        APP_NAME: ${{ inputs.featurenet-name != '' && inputs.featurenet-name || format('{0}{1}', 'fe-', steps.get-ref-properties.outputs.branch-name-for-argo) }}
      run: |
        name_local=${{ env.APP_NAME }}
        echo "name=$name_local" >> $GITHUB_OUTPUT
Dominant language
Go
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.