#!/bin/sh set -e script/cibuild # Get a fresh directory and make sure to delete it afterwards build_dir=tmp/build rm -rf $build_dir mkdir -p $build_dir trap "rm -rf $build_dir" EXIT commit_sha=$(git rev-parse HEAD) if [ $(uname -s) = "Darwin" ]; then build_arch="$(uname -sr | tr -d ' ' | tr '[:upper:]' '[:lower:]')-$(uname -m)" else build_arch="$(lsb_release -sc | tr -d ' ' | tr '[:upper:]' '[:lower:]')-$(uname -m)" fi tarball=$build_dir/${commit_sha}-${build_arch}.tar # Create the tarball tar cvf $tarball --mode="ugo=rx" bin/ # Compress it and copy it to the directory for the CI to upload it gzip $tarball mkdir -p "$BUILD_ARTIFACT_DIR"/gh-ost cp ${tarball}.gz "$BUILD_ARTIFACT_DIR"/gh-ost/ ### HACK HACK HACK ### # Blame @carlosmn. In the good way. # We don't have any jessie machines for building, but a pure-Go binary depends # on a version of libc and ld which are widely available, so we can copy the # tarball over with jessie in its name so we can deploy it on jessie machines. jessie_tarball_name=$(echo $(basename "${tarball}") | sed s/-precise-/-jessie-/) cp ${tarball}.gz "$BUILD_ARTIFACT_DIR/gh-ost/${jessie_tarball_name}.gz"