mirror of
https://github.com/mikefarah/yq.git
synced 2026-06-26 23:17:43 +00:00
51 lines
2.1 KiB
Bash
Executable File
51 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
set -ex
|
|
go mod download golang.org/x/tools@v0.44.0
|
|
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/6008b81b81c690c046ffc3fd5bce896da715d5fd/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.11.3
|
|
curl -sSfL https://raw.githubusercontent.com/securego/gosec/424fc4cd9c82ea0fd6bee9cd49c2db2c3cc0c93f/install.sh | sh -s v2.22.11
|
|
|
|
TYPOS_VERSION=v1.47.2
|
|
TYPOS_OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
TYPOS_ARCH=$(uname -m)
|
|
case "${TYPOS_ARCH}" in
|
|
x86_64) TYPOS_ARCH=x86_64 ;;
|
|
aarch64|arm64) TYPOS_ARCH=aarch64 ;;
|
|
*)
|
|
echo "unsupported architecture for typos: ${TYPOS_ARCH}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
case "${TYPOS_OS}" in
|
|
linux) TYPOS_TARGET="${TYPOS_ARCH}-unknown-linux-musl" ;;
|
|
darwin) TYPOS_TARGET="${TYPOS_ARCH}-apple-darwin" ;;
|
|
*)
|
|
echo "unsupported OS for typos: ${TYPOS_OS}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
TYPOS_ARCHIVE="typos-${TYPOS_VERSION}-${TYPOS_TARGET}.tar.gz"
|
|
TYPOS_URL="https://github.com/crate-ci/typos/releases/download/${TYPOS_VERSION}/${TYPOS_ARCHIVE}"
|
|
case "${TYPOS_TARGET}" in
|
|
aarch64-apple-darwin) TYPOS_SHA256=23ca24a9186b5cb395b5f6c8eea8cdb02911c8980833e016454b56e90c3bd474 ;;
|
|
aarch64-unknown-linux-musl) TYPOS_SHA256=596d5c6b9ecf34307f68bea649178c5b45a4398fe3a1fcef9598e85aa2ccb742 ;;
|
|
x86_64-apple-darwin) TYPOS_SHA256=469a2d9fc894b0cdcec6e4fa3719b4c4638e195feee6517d4845450f8e8985c6 ;;
|
|
x86_64-unknown-linux-musl) TYPOS_SHA256=7aef58932fc123b4cf4b40d86468e89a3297d80169051d7cfd13a235e05fc426 ;;
|
|
*)
|
|
echo "unsupported typos target: ${TYPOS_TARGET}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
TYPOS_TMPDIR=$(mktemp -d)
|
|
curl -sSfL "${TYPOS_URL}" -o "${TYPOS_TMPDIR}/${TYPOS_ARCHIVE}"
|
|
TYPOS_ACTUAL_SHA256=$(sha256sum "${TYPOS_TMPDIR}/${TYPOS_ARCHIVE}" 2>/dev/null | cut -d' ' -f1)
|
|
if [ -z "${TYPOS_ACTUAL_SHA256}" ]; then
|
|
TYPOS_ACTUAL_SHA256=$(shasum -a 256 "${TYPOS_TMPDIR}/${TYPOS_ARCHIVE}" | cut -d' ' -f1)
|
|
fi
|
|
if [ "${TYPOS_ACTUAL_SHA256}" != "${TYPOS_SHA256}" ]; then
|
|
echo "typos archive checksum mismatch: expected ${TYPOS_SHA256}, got ${TYPOS_ACTUAL_SHA256}"
|
|
exit 1
|
|
fi
|
|
tar xzf "${TYPOS_TMPDIR}/${TYPOS_ARCHIVE}" -C "${TYPOS_TMPDIR}"
|
|
install -m 755 "${TYPOS_TMPDIR}/typos" "$(go env GOPATH)/bin/typos"
|
|
rm -rf "${TYPOS_TMPDIR}"
|