~proycon/sxmo-pmaports

80e35c5eb01793fa97972c51b232c9e51de4ce21 — Oliver Smith 2 years ago 52d860f
CI: download shellcheck as static binary (MR 2673)

Adjust to shellcheck removal in Alpine. Currently it's still in edge for
x86_64, but installation fails with:

  ERROR: unable to select packages:
    so:libffi.so.7 (no such package):
      required by: shellcheck-0.7.2-r1[so:libffi.so.7]

Use the official static binary release from shellcheck instead of the
Alpine package. Version 0.7.2 is intentionally used instead of latest
8.0.0, since the latter generates a new warning. Let's unbreak CI first
before adjusting to a newer shellcheck version.

Related: https://lists.alpinelinux.org/~alpine/devel/%3C20211021133615.32f08070%40ncopa-desktop.lan%3E
2 files changed, 16 insertions(+), 3 deletions(-)

M .ci/shellcheck.sh
M .gitlab-ci.yml
M .ci/shellcheck.sh => .ci/shellcheck.sh +15 -0
@@ 13,6 13,21 @@ if grep -qr '(CHANGEME!)' *; then
	exit 1
fi

# Shellcheck isn't in Alpine anymore, so just download the static binary in CI
# Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/10902
if [ "$DOWNLOAD_SHELLCHECK" = 1 ]; then
	pkgver="0.7.2"
	tmpdir="/tmp/shellcheck-$pkgver"
	url="https://github.com/koalaman/shellcheck/releases/download/v$pkgver/shellcheck-v$pkgver.linux.x86_64.tar.xz"
	mkdir -p "$tmpdir"
	if ! [ -e "$tmpdir"/rel.tar.xz ]; then
		echo "Downloading $url"
		wget -q -O "$tmpdir"/rel.tar.xz "$url"
	fi
	tar -C "$tmpdir" -xf "$tmpdir"/rel.tar.xz
	export PATH="$tmpdir/shellcheck-v$pkgver/:$PATH"
fi

# Shell: shellcheck
sh_files="
	./main/mdss-fb-init-hack/mdss-fb-init-hack.sh

M .gitlab-ci.yml => .gitlab-ci.yml +1 -3
@@ 56,10 56,8 @@ shellcheck:
  stage: lint
  <<: *only-default
  image: alpine:edge
  before_script:
    - apk -q add shellcheck
  script:
    - .ci/shellcheck.sh
    - DOWNLOAD_SHELLCHECK=1 .ci/shellcheck.sh

# aports checks (generic)
aports-static: