travis-ci/gimme:.travis.yml@1eb05e4
language: bash
dist: trusty
os:
- linux
# Disabling, potentially permanently, given ongoing sadness :crying_cat_face:
# - osx
cache:
directories:
- "${HOME}/bin"
# Disabling, potentially permanently, given ongoing sadness :crying_cat_face:
# osx_image: xcode7.3
env:
global:
- SHFMT_VERSION="v3.5.1"
- SHCHK_VERSION="v0.8.0"
- GIMME_TMP="${TRAVIS_BUILD_DIR}/tmp"
- UNAME="$(uname | tr '[:upper:]' '[:lower:]')"
- GO_BOOTSTRAP_VERSION=1.18.6
- GOPATH="${HOME}/gopath"
- PATH="${HOME}/bin:${PATH}"
matrix:
- env:
TARGET: "native"
GO_VERSIONS: "$(sed -n -e '/^[^#]/p' < .testdata/sample-binary-$UNAME) $(sed -n -e '/^[^#]/p' < .testdata/source-$UNAME)"
SHFMT_URL: "https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_amd64"
SHELLCHECK_URL: "https://github.com/koalaman/shellcheck/releases/download/${SHCHK_VERSION}/shellcheck-${SHCHK_VERSION}.linux.x86_64.tar.xz"
addons:
apt:
packages:
# install cross compilers for cgo support.
- gcc-aarch64-linux-gnu
- libc6-dev-arm64-cross
- env:
TARGET: "arm"
GO_VERSIONS: "master"
SHFMT_URL: "https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_arm"
SHELLCHECK_URL: "https://github.com/koalaman/shellcheck/releases/download/${SHCHK_VERSION}/shellcheck-${SHCHK_VERSION}.linux.armv6hf.tar.xz"
GIMME_DEBUG: "true"
arch: arm64
addons:
apt:
packages:
- gcc-arm-linux-gnueabi
- libc6-dev-arm64-cross
- env:
TARGET: "arm64"
GO_VERSIONS: "$(sed -n -e '/^[^#]/p' < .testdata/sample-binary-$UNAME) master"
SHFMT_URL: "https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_arm"
SHELLCHECK_URL: "https://github.com/koalaman/shellcheck/releases/download/${SHCHK_VERSION}/shellcheck-${SHCHK_VERSION}.linux.armv6hf.tar.xz"
GIMME_DEBUG: "true"
arch: arm64
addons:
apt:
packages:
- gcc-arm-linux-gnueabi
- libc6-dev-arm64-cross
before_script:
- mkdir -p "${GIMME_TMP}"
script:
- if [ $UNAME = linux ] && [[ "$(shellcheck --version | awk '/^version:/ { print $2 }')" != "$SHCHK_VERSION" ]] ; then
curl -sSL -o "${GIMME_TMP}/shellcheck.tar.xz" "${SHELLCHECK_URL}";
tar -C "${HOME}/bin" --exclude="*.txt" --strip-components=1 -xf "${GIMME_TMP}/shellcheck.tar.xz";
shellcheck --version;
fi
- if [ $UNAME = linux ] && [[ $(shfmt -version 2>/dev/null) != v3.5.1 ]] ; then
curl -sSL "${SHFMT_URL}" -o "${HOME}/bin/shfmt";
chmod +x "${HOME}/bin/shfmt";
shfmt -version;
fi
- if [ $UNAME = linux ]; then make lint; fi
- git diff --exit-code
- git diff --cached --exit-code
- ./gimme -h
- ./gimme -V
- ./runtests "${TARGET}" "${GO_BOOTSTRAP_VERSION}" ${GO_VERSIONS}
- 'command -v go || (if [[ -z "$GIMME_ENV_PREFIX" ]]; then source "$GIMME_ENV_PREFIX/latest.env"; else source "$HOME/.gimme/envs/latest.env"; fi)'
- go version
- go env
- ./gimme -l
Build Config
{
"language": "shell",
"os": [
"linux"
],
"dist": "trusty",
"cache": {
"directories": [
"${HOME}/bin"
]
},
"env": {
"global": [
{
"SHFMT_VERSION": "\"v3.5.1\""
},
{
"SHCHK_VERSION": "\"v0.8.0\""
},
{
"GIMME_TMP": "\"${TRAVIS_BUILD_DIR}/tmp\""
},
{
"UNAME": "\"$(uname | tr '[:upper:]' '[:lower:]')\""
},
{
"GO_BOOTSTRAP_VERSION": "1.18.6"
},
{
"GOPATH": "\"${HOME}/gopath\""
},
{
"PATH": "\"${HOME}/bin:${PATH}\""
}
]
},
"before_script": [
"mkdir -p \"${GIMME_TMP}\""
],
"script": [
"if [ $UNAME = linux ] && [[ \"$(shellcheck --version | awk '/^version:/ { print $2 }')\" != \"$SHCHK_VERSION\" ]] ; then curl -sSL -o \"${GIMME_TMP}/shellcheck.tar.xz\" \"${SHELLCHECK_URL}\"; tar -C \"${HOME}/bin\" --exclude=\"*.txt\" --strip-components=1 -xf \"${GIMME_TMP}/shellcheck.tar.xz\"; shellcheck --version; fi",
"if [ $UNAME = linux ] && [[ $(shfmt -version 2>/dev/null) != v3.5.1 ]] ; then curl -sSL \"${SHFMT_URL}\" -o \"${HOME}/bin/shfmt\"; chmod +x \"${HOME}/bin/shfmt\"; shfmt -version; fi",
"if [ $UNAME = linux ]; then make lint; fi",
"git diff --exit-code",
"git diff --cached --exit-code",
"./gimme -h",
"./gimme -V",
"./runtests \"${TARGET}\" \"${GO_BOOTSTRAP_VERSION}\" ${GO_VERSIONS}",
"command -v go || (if [[ -z \"$GIMME_ENV_PREFIX\" ]]; then source \"$GIMME_ENV_PREFIX/latest.env\"; else source \"$HOME/.gimme/envs/latest.env\"; fi)",
"go version",
"go env",
"./gimme -l"
],
"jobs": {
"include": [
{
"env": [
{
"TARGET": "native",
"GO_VERSIONS": "$(sed -n -e '/^[^#]/p' < .testdata/sample-binary-$UNAME) $(sed -n -e '/^[^#]/p' < .testdata/source-$UNAME)",
"SHFMT_URL": "https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_amd64",
"SHELLCHECK_URL": "https://github.com/koalaman/shellcheck/releases/download/${SHCHK_VERSION}/shellcheck-${SHCHK_VERSION}.linux.x86_64.tar.xz"
}
],
"addons": {
"apt": {
"packages": [
"gcc-aarch64-linux-gnu",
"libc6-dev-arm64-cross"
]
}
}
},
{
"env": [
{
"TARGET": "arm",
"GO_VERSIONS": "master",
"SHFMT_URL": "https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_arm",
"SHELLCHECK_URL": "https://github.com/koalaman/shellcheck/releases/download/${SHCHK_VERSION}/shellcheck-${SHCHK_VERSION}.linux.armv6hf.tar.xz",
"GIMME_DEBUG": "true"
}
],
"arch": "arm64",
"addons": {
"apt": {
"packages": [
"gcc-arm-linux-gnueabi",
"libc6-dev-arm64-cross"
]
}
}
},
{
"env": [
{
"TARGET": "arm64",
"GO_VERSIONS": "$(sed -n -e '/^[^#]/p' < .testdata/sample-binary-$UNAME) master",
"SHFMT_URL": "https://github.com/mvdan/sh/releases/download/${SHFMT_VERSION}/shfmt_${SHFMT_VERSION}_linux_arm",
"SHELLCHECK_URL": "https://github.com/koalaman/shellcheck/releases/download/${SHCHK_VERSION}/shellcheck-${SHCHK_VERSION}.linux.armv6hf.tar.xz",
"GIMME_DEBUG": "true"
}
],
"arch": "arm64",
"addons": {
"apt": {
"packages": [
"gcc-arm-linux-gnueabi",
"libc6-dev-arm64-cross"
]
}
}
}
]
}
}