Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: delete troublesome golangci github action #982

Merged
merged 1 commit into from
Aug 23, 2020
Merged

ci: delete troublesome golangci github action #982

merged 1 commit into from
Aug 23, 2020

Conversation

x1ddos
Copy link
Contributor

@x1ddos x1ddos commented Aug 20, 2020

TL;DIR: we're stuck with go1.14 + linter v1.27 for now. The longer explanation below is for potential gotchas when and if we'll ever upgrade to go1.15 or a more recent golangci-lint.

golangci-lint always uses the latest version of Go, which has recently released go1.15. Any linter version starting with the currently in use 1.27 and up to the latest 1.30 fails on go1.15 with panics. Any linter version past 1.27 with go1.14 panics, too.

Unfortunately, golangci-lint always overwrites the Go version when run in a github action in https://github.com/golangci/golangci-lint-action/blob/v1.2.2/src/install.ts#L26. I made a working PoC which allows to specify a Go version in https://github.com/x1ddos/golangci-lint-action/commit/6f8897f but wouldn't be able to send them a pull request because they always work in the master branch. Their master branch is way ahead and doesn't support 1.27 linter version anymore. So, my PoC is useless: we wouldn't want to maintain a fork of golangci-lint-action.

Note that golangci-lint is alwasy run in the docker container, too, in test-lint action anyway. What's removed here was a very quick separate CI step to identify potential pull request issues within seconds.

Alternatives are more time consuming and not worth it at the moment.

TL;DIR: we're stuck with go1.14 + linter v1.27 for now.
The longer explanation below is for potential gotchas when and if
we'll ever upgrade to go1.15 or a more recent golangci-lint.

golangci-lint always uses the latest version of Go, which has recently
released go1.15. Any linter version starting with the currently in
use 1.27 and up to the latest 1.30 fails on go1.15 with panics.
Any linter version past 1.27 with go1.14 panics, too.

Unfortunately, golangci-lint always overwrites the Go version when run
in a github action in
https://github.com/golangci/golangci-lint-action/blob/v1.2.2/src/install.ts#L26.
I made a working PoC which allows to specify a Go version in
https://github.com/x1ddos/golangci-lint-action/commit/6f8897f but
wouldn't be able to send them a pull request because they always work
in the master branch. Their master branch is way ahead and doesn't
support 1.27 linter version anymore. So, my PoC is useless: we wouldn't
want to maintain a fork of golangci-lint-action.

Note that golangci-lint is alwasy run in the docker container, too,
in test-lint action anyway. What's removed here was a very quick
separate CI step to identify a potential pull request issues within
seconds.

Alternatives are more time consuming and not worth it at the moment.
@x1ddos x1ddos requested a review from benma August 20, 2020 19:15
@x1ddos
Copy link
Contributor Author

x1ddos commented Aug 20, 2020

@benma I think I know why appveyor's failing: we have probably exhaused 50Gb of artifact storage space limit.

Found artifact 'BitBox-installer.exe' matching 'BitBox-installer.exe' path
Uploading artifacts...
Maximum allowed artifact storage size of 50000 Mb will be exceeded.

But the account is on your name:

image

so I guess you'll have to login and remove some oldest manually.

@benma
Copy link
Contributor

benma commented Aug 22, 2020

Strange that one cannot specify the Go version used? Correct dependency versions are important for correct CI :S

Re appveyor space limit:

https://help.appveyor.com/discussions/problems/18191-setting-autodelete-policies-for-deleting-old-artifacts

Seems old artefacts cannot be deleted, so I need to write to support to do it for us...

Edit: maybe we can change the appveyor script to not push an artefact on a normal PR, but just when merged to master or branches called staging-*? We barely ever (or never) use the builds random PRs.

@x1ddos
Copy link
Contributor Author

x1ddos commented Aug 23, 2020

Strange that one cannot specify the Go version used? Correct dependency versions are important for correct CI :S

Created an issue at golangci/golangci-lint-action#75 but not sure it'll help us short term anyway. Best case is can always revert this commit but I wouldn't hold my breath.

maybe we can change the appveyor script to not push an artefact on a normal PR, but just when merged to master or branches called staging-*? We barely ever (or never) use the builds random PRs.

I was going to suggest the same thing. Also for github. Will send you a separate PR.

@x1ddos x1ddos merged commit 2dd6ab4 into BitBoxSwiss:master Aug 23, 2020
@x1ddos x1ddos deleted the no-golangci-action branch August 23, 2020 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants