forked from influxdata/telegraf
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add targets to build amd64 release binaries for windows, darwin and l…
…inux (#28) * Add targets to build amd64 release binaries for windows, darwin and linux * Allow specifying which tag to build
- Loading branch information
1 parent
9f8bdb4
commit a0adad5
Showing
4 changed files
with
86 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
apt-get update && apt-get install --yes zip | ||
GIT_TAG="${GIT_TAG}" ./scripts/build-release-binaries.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/bash | ||
|
||
docker run \ | ||
--rm \ | ||
--volume "$(pwd)":/app \ | ||
--workdir /app \ | ||
--env GIT_TAG \ | ||
--entrypoint /app/scripts/build-release-binaries-docker-entrypoint.sh \ | ||
golang:1.15 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
if [[ -z "${GIT_TAG}" ]]; then | ||
echo "Please provide GIT_TAG environment variable to point which version to build" | ||
exit 1 | ||
fi | ||
|
||
DIR="$(pwd)" | ||
TMP_PATH="$(mktemp -d)/telegraf" | ||
REPO_URL="https://github.com/SumoLogic/telegraf.git" | ||
|
||
FLAGS="--quiet" | ||
if [[ -n "${CI}" ]] ; then | ||
FLAGS="" | ||
fi | ||
|
||
mkdir "${TMP_PATH}" | ||
|
||
function cleanup() { | ||
rm -rf "${TMP_PATH}" | ||
} | ||
trap cleanup EXIT | ||
|
||
echo "Cloning ${REPO_URL} to ${TMP_PATH}..." | ||
git clone ${FLAGS} --depth 1 ${REPO_URL} "${TMP_PATH}" && cd "${TMP_PATH}" | ||
git fetch ${FLAGS} --tags | ||
git checkout ${FLAGS} "${GIT_TAG}" | ||
echo "Checked out telegraf at ${GIT_TAG}" | ||
|
||
go mod download | ||
for OS in windows darwin linux; do | ||
echo "Building telegraf for ${OS}..." | ||
BINARY_PATH="telegraf-${GIT_TAG}_${OS}_amd64" | ||
if [[ "${OS}" == "windows" ]] ; then | ||
BINARY_PATH="${BINARY_PATH}.exe" | ||
fi | ||
|
||
GOOS=${OS} GOARCH=amd64 go build -o "${BINARY_PATH}" ./cmd/telegraf | ||
|
||
if [[ "${OS}" == "windows" ]] ; then | ||
ARCHIVE_PATH="$(basename "${BINARY_PATH}.zip")" | ||
zip -q "${ARCHIVE_PATH}" "${BINARY_PATH}" | ||
else | ||
ARCHIVE_PATH="$(basename "${BINARY_PATH}.tar.gz")" | ||
tar -czvf "${ARCHIVE_PATH}" "$(basename "${BINARY_PATH}")" | ||
fi | ||
|
||
if [[ -f "${DIR}/${ARCHIVE_PATH}" ]]; then | ||
rm "${DIR}/${ARCHIVE_PATH}" | ||
fi | ||
cp "${ARCHIVE_PATH}" "${DIR}" | ||
|
||
if [[ -f "${DIR}/${BINARY_PATH}" ]];then | ||
rm "${DIR}/${BINARY_PATH}" | ||
fi | ||
cp "${BINARY_PATH}" "${DIR}" | ||
|
||
echo "Successfully built ${BINARY_PATH} (compressed into ${ARCHIVE_PATH})" | ||
done |