knative / knative/actions

Investigate how to get actionlint to do better

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

Nobody has claimed this yet.

Dominant language
No language data
Stars
11
Forks
25
Avg merge
2d 18h
Merged PRs (30d)
3

Description

https://github.com/knative/actions/pull/109 disables actionlint on composite actions (there is an open feature request for this https://github.com/rhysd/actionlint/issues/46) also it disables shellcheck from actionlint which we don't want, but it is throwing shellcheck errors which should not be there:

◗ ~/go/bin/actionlint  reusable-releasability.yaml 
reusable-releasability.yaml:40:9: shellcheck reported issue in this script: SC2129:style:1:1: Consider using { cmd1; cmd2; } >> file instead of individual redirects [shellcheck]
   |
40 |         run: |
   |         ^~~~
reusable-releasability.yaml:62:14: workflow command "set-output" was deprecated. use `echo "{name}={value}" >> $GITHUB_OUTPUT` instead: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions [deprecated-commands]
   |
62 |         run: |
   |              ^
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1009:info:4:1: The mentioned syntax error was in this simple command [shellcheck]
   |
74 |         run: |
   |         ^~~~
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1078:warning:4:126: Did you forget to close this double quoted string? [shellcheck]
   |
74 |         run: |
   |         ^~~~
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1079:info:5:15: This is actually an end quote, but due to next char it looks suspect [shellcheck]
   |
74 |         run: |
   |         ^~~~
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1078:warning:10:22: Did you forget to close this double quoted string? [shellcheck]
   |
74 |         run: |
   |         ^~~~
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1079:info:11:26: This is actually an end quote, but due to next char it looks suspect [shellcheck]
   |
74 |         run: |
   |         ^~~~
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1073:error:13:39: Couldn't parse this double quoted string. Fix to allow more checks [shellcheck]
   |
74 |         run: |
   |         ^~~~
reusable-releasability.yaml:74:9: shellcheck reported issue in this script: SC1072:error:16:1: Expected end of double quoted string. Fix any mentioned problems and try again [shellcheck]
   |
74 |         run: |
   |         ^~~~

Strangely running using the same workflow on the actionlint playground does not have the shellcheck issue (It appears shellcheck is not ran in the playground)... permalink

Contributor guide

Open the contributing guide

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.

Research direction

Start by running actionlint against reusable-releasability.yaml and compare the local output with the actionlint playground result. Read pull request 109 and actionlint issue 46 to understand the composite-action and shellcheck context. Done means identifying why the reported shellcheck diagnostics differ and documenting or reproducing the appropriate fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.