2 changed files with 68 additions and 1 deletions
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
#!/bin/sh |
||||
|
||||
# Human readable names of binary distributions |
||||
DISTRO=(macOS linux) |
||||
# Operating systems for the respective distributions |
||||
OS=(darwin linux) |
||||
# Architectures for the respective distributions |
||||
ARCH=(amd64 amd64) |
||||
|
||||
# Version |
||||
VERSION=$1 |
||||
[[ -z "${VERSION}" ]] && VERSION='unknownver' || VERSION="${VERSION}" |
||||
GIT_COMMIT=$(git rev-list -1 HEAD) |
||||
|
||||
# Change to the root directory of the repository |
||||
cd $(git rev-parse --show-toplevel) |
||||
|
||||
echo "Cleaning working directories..." |
||||
rm -rf ./webroot/hls/* ./hls/* ./webroot/thumbnail.png |
||||
|
||||
echo "Creating version ${VERSION} from commit ${GIT_COMMIT}" |
||||
|
||||
mkdir -p dist |
||||
|
||||
build() { |
||||
NAME=$1 |
||||
OS=$2 |
||||
ARCH=$3 |
||||
VERSION=$4 |
||||
GIT_COMMIT=$5 |
||||
|
||||
echo "Building ${NAME} (${OS}/${ARCH}) release..." |
||||
|
||||
mkdir -p dist/${NAME}/config |
||||
|
||||
cp config/config-example.yaml dist/${NAME}/config/config.yaml |
||||
cp -R webroot/ dist/${NAME}/webroot/ |
||||
cp -R doc/ dist/${NAME}/doc/ |
||||
cp README.md dist/${NAME} |
||||
|
||||
env CGO_ENABLED=0 GOOS=$OS GOARCH=$ARCH go build -ldflags "-X main.GitCommit=$GIT_COMMIT -X main.BuildVersion=$VERSION -X main.BuildType=$NAME" -a -o dist/$NAME/owncast |
||||
|
||||
pushd dist/${NAME} >> /dev/null |
||||
zip -r -q -8 ../owncast-$NAME-$VERSION.zip . |
||||
popd >> /dev/null |
||||
|
||||
rm -rf dist/${NAME}/ |
||||
} |
||||
|
||||
for i in "${!DISTRO[@]}"; do |
||||
build ${DISTRO[$i]} ${OS[$i]} ${ARCH[$i]} $VERSION $GIT_COMMIT |
||||
done |
||||
|
||||
# Create the tag |
||||
git tag -a "v${VERSION}" -m "Release build v${VERSION}" |
||||
|
||||
# On macOS open the Github page for new releases so they can be uploaded |
||||
if test -f "/usr/bin/open"; then |
||||
open "https://github.com/gabek/owncast/releases/new" |
||||
open dist |
||||
fi |
Loading…
Reference in new issue