#!/bin/bash set -e PROJECTNAME=pki RELEASENAME=${PROJECTNAME} VERSION="0" GOOPTIONS="-mod=vendor" SRCFILES=cmd/${PROJECTNAME}/*.go build() { echo "Begin of build" if [[ ! -z $DRONE_TAG ]] then echo "Drone tag set, let's do a release" VERSION=$DRONE_TAG echo "${PROJECTNAME} ${VERSION}" > /build/VERSION elif [[ ! -z $DRONE_TAG ]] then echo "Drone not set, let's only do a build" VERSION=$DRONE_COMMIT fi if [[ ! -z $VERSION && ! -z $GOOS && ! -z $GOARCH ]] then echo "Let's set a release name" RELEASENAME=${PROJECTNAME}-${VERSION}-${GOOS}-${GOARCH} fi echo "Building project" go build -o ${PROJECTNAME} ${GOOPTIONS} ${SRCFILES} if [[ ! -z $DRONE_TAG ]] then echo "Let's make archives" mkdir -p /build tar -czvf /build/${RELEASENAME}.tar.gz ${PROJECTNAME} fi echo "Removing binary file" rm ${PROJECTNAME} echo "End of build" } clean() { rm -rf $RELEASEDIR } case $1 in "build") build ;; "clean") clean ;; *) echo "No options choosen" exit 1 ;; esac