Skip to content
Snippets Groups Projects
check-go-version 1.03 KiB
Newer Older
  • Learn to ignore specific revisions
  • Sandor Szuecs's avatar
    Sandor Szuecs committed
    #!/bin/bash
    
    
    set -e
    
    VERSION=$( go version )
    
    # For development versions of Go, these will be empty.
    MAJOR_GOVERSION=$( echo -n "$VERSION" | grep -o 'go1\.[0-9]' || true )
    FULL_GOVERSION=$( echo -n "$VERSION" | grep -o 'go1\.[0-9|\.]*' || true )
    
    # The list of unsupported major go versions.
    UNSUPPORTED=( "go1.0" "go1.1" "go1.2" "go1.3" "go1.4" "go1.5" "go1.6" )
    
    # Minor go verisons which have known security vulnerabilities. Refuse to build with these.
    #
    # There aren't any security issues that impact dex in 1.7 but minor versions should be
    # added here later if they do have issues. 
    KNOWN_INSECURE=( )
    
    for V in "${UNSUPPORTED[@]}"; do
        if [ "$V" = "$MAJOR_GOVERSION" ]; then
            >&2 echo "ERROR: dex requires Go version 1.7+. Please update your Go installation: https://golang.org/dl/" 
            exit 2
        fi
    done
    
    for V in "${KNOWN_INSECURE[@]}"; do
        if [ "$V" = "$FULL_GOVERSION" ]; then
            >&2 echo "Go version ${V} has known security vulnerabilities which impact dex. Please update your Go verison."
            exit 2
        fi
    done