aboutsummaryrefslogtreecommitdiff
path: root/src/go
diff options
context:
space:
mode:
Diffstat (limited to 'src/go')
-rw-r--r--src/go/devcontainer-feature.json7
-rwxr-xr-xsrc/go/install.sh16
2 files changed, 19 insertions, 4 deletions
diff --git a/src/go/devcontainer-feature.json b/src/go/devcontainer-feature.json
index 75fa9ae..c83b4f0 100644
--- a/src/go/devcontainer-feature.json
+++ b/src/go/devcontainer-feature.json
@@ -1,6 +1,6 @@
{
"id": "go",
- "version": "1.0.9",
+ "version": "1.1.0",
"name": "Go",
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/go",
"description": "Installs Go and common Go utilities. Auto-detects latest version and installs needed dependencies.",
@@ -15,6 +15,11 @@
],
"default": "latest",
"description": "Select or enter a Go version to install"
+ },
+ "golangciLintVersion": {
+ "type": "string",
+ "default": "latest",
+ "description": "Version of golangci-lint to install"
}
},
"init": true,
diff --git a/src/go/install.sh b/src/go/install.sh
index 9bb8047..f561144 100755
--- a/src/go/install.sh
+++ b/src/go/install.sh
@@ -8,6 +8,7 @@
# Maintainer: The VS Code and Codespaces Teams
TARGET_GO_VERSION=${VERSION:-"latest"}
+GOLANGCILINT_VERSION=${GOLANGCILINTVERSION:-"latest"}
TARGET_GOROOT=${TARGET_GOROOT:-"/usr/local/go"}
TARGET_GOPATH=${TARGET_GOPATH:-"/go"}
@@ -197,8 +198,7 @@ GO_TOOLS="\
github.com/mgechev/revive@latest \
github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest \
github.com/ramya-rao-a/go-outline@latest \
- github.com/go-delve/delve/cmd/dlv@latest \
- github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
+ github.com/go-delve/delve/cmd/dlv@latest"
if [ "${INSTALL_GO_TOOLS}" = "true" ]; then
echo "Installing common Go tools..."
export PATH=${TARGET_GOROOT}/bin:${PATH}
@@ -219,8 +219,18 @@ if [ "${INSTALL_GO_TOOLS}" = "true" ]; then
# Move Go tools into path and clean up
mv /tmp/gotools/bin/* ${TARGET_GOPATH}/bin/
-
rm -rf /tmp/gotools
+
+ # Install golangci-lint from precompiled binares
+ if [ "$GOLANGCILINT_VERSION" = "latest" ] || [ "$GOLANGCILINT_VERSION" = "" ]; then
+ echo "Installing golangci-lint latest..."
+ curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | \
+ sh -s -- -b "${TARGET_GOPATH}/bin"
+ else
+ echo "Installing golangci-lint ${GOLANGCILINT_VERSION}..."
+ curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | \
+ sh -s -- -b "${TARGET_GOPATH}/bin" "v${GOLANGCILINT_VERSION}"
+ fi
fi