Cardinal-Cryptography / Cardinal-Cryptography/github-actions-validator
False positive error for action output
- Dominant language
- Go
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
On example on [this](https://github.com/Cardinal-Cryptography/aleph-node/actions/runs/5356212949/jobs/9715455989) 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
```yaml
- 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:](https://github.com/Cardinal-Cryptography/aleph-node/pull/1266/commits/bd1783cef6fbf842f6a43200eae61ade8c22791c)
```yaml
- 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
```
Contributor guide
No contributing guide indexed for this repository
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.
Assessment
- Tech stack
- github-actions, go
- Domain
- ci-cd, devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100