Cardinal-Cryptography / Cardinal-Cryptography/github-actions-validator
False positive error for action output
- Ngôn ngữ chính
- Go
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
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
```
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng việc tái hiện các chẩn đoán EA811 đã được báo cáo với YAML của GitHub Actions được hiển thị trong issue, sau đó kiểm tra cách validator xử lý các biểu thức được sử dụng trong các phép gán output của action. Được xem là hoàn tất khi workflow được hiển thị không còn tạo ra các lỗi sai 'output does not exist', trong khi các output thực sự bị thiếu vẫn có thể được phát hiện.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- github-actions, go
- Lĩnh vực
- ci-cd, devtools
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 38/100