Super-linter: 3.9.1 seems to be missing shellcheck, golangci-lint, htmlhint etc

Created on 31 Aug 2020  路  13Comments  路  Source: github/super-linter

Describe the bug
3.9.1 errors out with a list of 12 failures of the form
/action/lib/linter.sh: line 1369: LintCodebase: command not found - missing shellcheck e.g.
and then doesn't actually lint anything but exits with success.

To Reproduce
I'm testing in a branch with ACTIONS_RUNNER_DEBUG: true whose super-linter output can reviewed here:
https://github.com/Chia-Network/chia-blockchain/runs/1053240149?check_suite_focus=true#step:4:365

Expected behavior
I expect all the linters to be found and the few that I have set to true should run.

bug

All 13 comments

Can confirm it. Happens on 3.9.1, as well as 3.8.3. Did not happen on 3.8.3 for builds 6 days ago. Probably related to #490. Additionally I would expect the action to fail if it doesn't lint anything.

And for some reason, https://github.com/github/super-linter/commit/98c2eec42a45e7b01210b9e2bc3cf3dd724a69cc removed the recently introduce shfmt support :(

I've added some stuff that was added in #642 and deleted (by mistake?) in https://github.com/github/super-linter/commit/98c2eec42a45e7b01210b9e2bc3cf3dd724a69cc as part of #649

BTW I think it's not related to #490 because, as you can see from your build log, the linters are there (see the version information).

I suspect there's something weird when sourcing worker.sh.

Additionally, this doesn't happen to me in the branch I'm using for #649

@hoffmang9 @HorizonNet I can reproduce locally with v3.9.1. I think #649 will fix this one as well

I'll bump the version once your PR is in and the docker has time to get built.

@ferrarimarco Not sure. What's weird that it worked perfectly fine with 3.8.3 a few days ago. Today I'm seeing the same problems in 3.8.3 and 3.9.1 without any change. It feels like that the image was updated for 3.8.3 afterwards (wouldn't expect that) or both versions are pinned to the same image (as described initially in #490).

There is also this error at the top:

/action/lib/worker.sh: line 300: syntax error near unexpected token `done'
/action/lib/worker.sh: line 300: `    done'

Seems a pretty bad release all in all unfortunately. Is there better automated testing that can be added to prevent this in future?

This confirms my theory above, that worker.sh is not correctly sourced, so the LintCodebase function is not available. Probably a merge gone bad

Noticed a pull request from an old branch linted correctly in a project I work on so did some digging. Everything after from 3.3.2 onwards breaks. 3.3.1 and below seems to lint fine. So did something in v3.3.2 effectively hardcode linter.sh or worker.sh reference so it doesn't use the versioned script?

v3.8.3 was fine for me.

Weird. It wasn't for me nor @HorizonNet . Example bad run here using:

        uses: github/[email protected]

I think the behavior of 3.8.3 changed recently. As said above, I have a job a week ago with 3.8.3, which works fine and didn't show any problem. Running the same job again yesterday shows the same behavior as in 3.9.1.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sergey-muntyanu picture sergey-muntyanu  路  4Comments

brunomartinspro picture brunomartinspro  路  4Comments

bazzadp picture bazzadp  路  3Comments

DawidJanczak picture DawidJanczak  路  5Comments

krtschmr picture krtschmr  路  4Comments