-
Notifications
You must be signed in to change notification settings - Fork 36.6k
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
qa: Pin shellcheck version #15166
qa: Pin shellcheck version #15166
Conversation
Can't we lock the installed version instead? |
dea6fd4
to
f747f4a
Compare
@practicalswift IMO what the user has it not a problem, instead it helps if the user has a newer version so he can update the travis one if necessary. We could run in a docker container? |
I think it makes sense to allow for some variability in |
Just to be clear, in travis run the linter in a container with a specific version of shellcheck, locally use the one available in the path? |
So we'd still had to support multiple versions of shellcheck |
@MarcoFalke why? The official supported would be the travis IMO. If the linter fails for the user then he either upgrades/downgrades his version or submit a pull to fix the (most likely) new version. |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
f747f4a
to
4a037c4
Compare
@promag The proposed solution allows for some variability in |
As the shellcheck author I would definitely recommend pinning versions rather than filtering suggestions. This is because the scope of existing suggestions often changes through improvements or bugfixes. For example, the SC2054 warning that commas won't work as an array separator recently had its detection criteria changed, so now shellcheck master (and therefore the next release) will start triggering on By pinning, you can upgrade at your leisure without surprise build breaks. |
@koalaman Thanks for the input! What is the best way to achieve version pinning of |
@practicalswift Unfortunately I'm not very familiar with Travis myself. Someone contributed a recipe which just downloads a specific release version (which could obviously be improved by verifying the checksum):
Specific ShellCheck releases can also be run via Docker, if that helps. |
We already use docker so I guess we could use the one available in bionic? |
cae3e0c
to
66cafe2
Compare
83cbca4
to
a517541
Compare
Now pinning the |
ACK, we do the same for the pip packages |
I guess checksum verification is not necessary. Still curious why not docker. utACK a517541 though. |
@promag We don't use Docker for any of the linters. The non-Docker setup is simpler. |
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
1ac454a Enable ShellCheck rules (Hennadii Stepanov) Pull request description: Enable some simple ShellCheck rules. Note for reviewers: `bash` and `shellcheck` on macOS are different from ones on Ubuntu. For local tests the latest `shellcheck` version 0.6.0 should be used (see #15166). ACKs for top commit: practicalswift: utACK 1ac454a dongcarl: utACK 1ac454a fanquake: ACK 1ac454a Tree-SHA512: 8d0a3a5c09fe1a0c22120178f5e6b80f81f746f8c3356b7701ff301c117acb2edea8fe08f08fb54ed73f94b1617515fb239fa28e7ab4121f74872e6494b6f20e
Backport useful lints from upstream Cherry-picked from the following upstream PRs: - bitcoin/bitcoin#6892 - bitcoin/bitcoin#11151 - bitcoin/bitcoin#11300 - bitcoin/bitcoin@96d91b7 - bitcoin/bitcoin#12097 - bitcoin/bitcoin#12098 - bitcoin/bitcoin#12442 - bitcoin/bitcoin#12572 - bitcoin/bitcoin#12757 - bitcoin/bitcoin#11878 - bitcoin/bitcoin#12933 - bitcoin/bitcoin#12871 - bitcoin/bitcoin#12972 - bitcoin/bitcoin#13281 - bitcoin/bitcoin#13385 - bitcoin/bitcoin#13041 - bitcoin/bitcoin#13454 - bitcoin/bitcoin#13448 - bitcoin/bitcoin#13510 - bitcoin/bitcoin#13851 - bitcoin/bitcoin#13863 - bitcoin/bitcoin#14115 - bitcoin/bitcoin#14831 - bitcoin/bitcoin#15164 - bitcoin/bitcoin#15170 - bitcoin/bitcoin#15166 - bitcoin/bitcoin#16036 - bitcoin/bitcoin#16768 Several of the lints fail for our current codebase; these will be addressed in a subsequent PR.
Backport useful lints from upstream Cherry-picked from the following upstream PRs: - bitcoin/bitcoin#6892 - bitcoin/bitcoin#11151 - bitcoin/bitcoin#11300 - bitcoin/bitcoin@96d91b7 - bitcoin/bitcoin#12097 - bitcoin/bitcoin#12098 - bitcoin/bitcoin#12442 - bitcoin/bitcoin#12572 - bitcoin/bitcoin#12757 - bitcoin/bitcoin#11878 - bitcoin/bitcoin#12933 - bitcoin/bitcoin#12871 - bitcoin/bitcoin#12972 - bitcoin/bitcoin#13281 - bitcoin/bitcoin#13385 - bitcoin/bitcoin#13041 - bitcoin/bitcoin#13454 - bitcoin/bitcoin#13448 - bitcoin/bitcoin#13510 - bitcoin/bitcoin#13851 - bitcoin/bitcoin#13863 - bitcoin/bitcoin#14115 - bitcoin/bitcoin#14831 - bitcoin/bitcoin#15164 - bitcoin/bitcoin#15170 - bitcoin/bitcoin#15166 - bitcoin/bitcoin#16036 - bitcoin/bitcoin#16768 - bitcoin/bitcoin#13494 Several of the lints fail for our current codebase; these will be addressed in a subsequent PR.
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
1ac454a Enable ShellCheck rules (Hennadii Stepanov) Pull request description: Enable some simple ShellCheck rules. Note for reviewers: `bash` and `shellcheck` on macOS are different from ones on Ubuntu. For local tests the latest `shellcheck` version 0.6.0 should be used (see bitcoin#15166). ACKs for top commit: practicalswift: utACK 1ac454a dongcarl: utACK 1ac454a fanquake: ACK 1ac454a Tree-SHA512: 8d0a3a5c09fe1a0c22120178f5e6b80f81f746f8c3356b7701ff301c117acb2edea8fe08f08fb54ed73f94b1617515fb239fa28e7ab4121f74872e6494b6f20e
1ac454a Enable ShellCheck rules (Hennadii Stepanov) Pull request description: Enable some simple ShellCheck rules. Note for reviewers: `bash` and `shellcheck` on macOS are different from ones on Ubuntu. For local tests the latest `shellcheck` version 0.6.0 should be used (see bitcoin#15166). ACKs for top commit: practicalswift: utACK 1ac454a dongcarl: utACK 1ac454a fanquake: ACK 1ac454a Tree-SHA512: 8d0a3a5c09fe1a0c22120178f5e6b80f81f746f8c3356b7701ff301c117acb2edea8fe08f08fb54ed73f94b1617515fb239fa28e7ab4121f74872e6494b6f20e
a517541 Remove no longer needed shellcheck suppressions (practicalswift) 0b7196e Fix warnings introduced in shellcheck v0.6.0 (practicalswift) 07a53dc Remove repeated suppression. Fix indentation. (practicalswift) 638e53b Pin shellcheck version to v0.6.0 (practicalswift) Pull request description: Pin `shellcheck` version. Tree-SHA512: 996e438e424020fe888de1d77ffd33fa32848332febfffbc21a842784aee339332c79c41687c9c577ba1206eb20674623157d584a072e8ae88ae086ee2277bc8
1ac454a Enable ShellCheck rules (Hennadii Stepanov) Pull request description: Enable some simple ShellCheck rules. Note for reviewers: `bash` and `shellcheck` on macOS are different from ones on Ubuntu. For local tests the latest `shellcheck` version 0.6.0 should be used (see bitcoin#15166). ACKs for top commit: practicalswift: utACK 1ac454a dongcarl: utACK 1ac454a fanquake: ACK 1ac454a Tree-SHA512: 8d0a3a5c09fe1a0c22120178f5e6b80f81f746f8c3356b7701ff301c117acb2edea8fe08f08fb54ed73f94b1617515fb239fa28e7ab4121f74872e6494b6f20e
Pin
shellcheck
version.