|
4 | 4 | # Usage: ./scripts/bench/bench_version.sh gosec v1.58.1 v1.58.2
|
5 | 5 |
|
6 | 6 | # ex: gosec
|
7 |
| -LINTER_NAME=$1 |
| 7 | +LINTER="$1" |
8 | 8 |
|
9 | 9 | # ex: v1.58.1
|
10 |
| -GCIL_VERSION_ONE=$2 |
| 10 | +VERSION_OLD="$2" |
11 | 11 | # ex: v1.58.2
|
12 |
| -GCIL_VERSION_TWO=$3 |
| 12 | +VERSION_NEW="$3" |
13 | 13 |
|
14 |
| -## GCIL_VERSION_ONE |
| 14 | +## Clean |
15 | 15 |
|
16 |
| -curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./temp-${GCIL_VERSION_ONE} ${GCIL_VERSION_ONE} |
| 16 | +function cleanBinaries() { |
| 17 | + echo "Clean binaries" |
| 18 | + rm ./golangci-lint-${VERSION_OLD} |
| 19 | + rm ./golangci-lint-${VERSION_NEW} |
| 20 | +} |
17 | 21 |
|
18 |
| -mv temp-${GCIL_VERSION_ONE}/golangci-lint ./golangci-lint-${GCIL_VERSION_ONE} |
19 |
| -rm -rf temp-${GCIL_VERSION_ONE} |
| 22 | +trap cleanBinaries EXIT |
20 | 23 |
|
21 |
| -## GCIL_VERSION_TWO |
| 24 | +## VERSION_OLD |
22 | 25 |
|
23 |
| -curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./temp-${GCIL_VERSION_TWO} ${GCIL_VERSION_TWO} |
| 26 | +curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./temp-${VERSION_OLD} ${VERSION_OLD} |
24 | 27 |
|
25 |
| -mv temp-${GCIL_VERSION_TWO}/golangci-lint ./golangci-lint-${GCIL_VERSION_TWO} |
26 |
| -rm -rf temp-${GCIL_VERSION_TWO} |
| 28 | +mv temp-${VERSION_OLD}/golangci-lint ./golangci-lint-${VERSION_OLD} |
| 29 | +rm -rf temp-${VERSION_OLD} |
27 | 30 |
|
28 |
| -## Run |
| 31 | +## VERSION_NEW |
29 | 32 |
|
30 |
| -hyperfine \ |
31 |
| ---prepare 'golangci-lint cache clean' "./golangci-lint-${GCIL_VERSION_ONE} run --issues-exit-code 0 --print-issued-lines=false --enable-only ${LINTER_NAME}" \ |
32 |
| ---prepare './golangci-lint cache clean' "./golangci-lint-${GCIL_VERSION_TWO} run --issues-exit-code 0 --print-issued-lines=false --enable-only ${LINTER_NAME}" |
| 33 | +curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./temp-${VERSION_NEW} ${VERSION_NEW} |
33 | 34 |
|
34 |
| -## Clean |
| 35 | +mv temp-${VERSION_NEW}/golangci-lint ./golangci-lint-${VERSION_NEW} |
| 36 | +rm -rf temp-${VERSION_NEW} |
35 | 37 |
|
36 |
| -rm ./golangci-lint-${GCIL_VERSION_ONE} |
37 |
| -rm ./golangci-lint-${GCIL_VERSION_TWO} |
| 38 | +## Run |
| 39 | + |
| 40 | +hyperfine \ |
| 41 | +--prepare 'golangci-lint cache clean' "./golangci-lint-${VERSION_OLD} run --issues-exit-code 0 --print-issued-lines=false --enable-only ${LINTER}" \ |
| 42 | +--prepare './golangci-lint cache clean' "./golangci-lint-${VERSION_NEW} run --issues-exit-code 0 --print-issued-lines=false --enable-only ${LINTER}" |
0 commit comments