set -e version=$(cat Cargo.toml | sed -n -e '/version/ {s/.* = *//p;q}' | tr -d '"') read -p "You wanted to release $version, right? [Y/n] " -n 1 -r echo case "$REPLY" in n|N ) exit 1;; esac if [ -z "${RELEASE_TOKEN}" ]; then echo "Please set the RELEASE_TOKEN env var." exit 1 fi if ! command -v curl 2>&1 >/dev/null; then echo "Please install curl." exit 1 fi if ! command -v jq 2>&1 >/dev/null; then echo "Please install jq." exit 1 fi if ! command -v docker 2>&1 >/dev/null; then echo "Please install docker." exit 1 fi docker build -f build.Dockerfile -t lemur-build . MSYS_NO_PATHCONV=1 docker run -it --rm -v .:/app -w /app --entrypoint bash lemur-build /app/scripts/do-bundle.sh body=$(cat <<EOF ## How to install The emulator can be found in the "Downloads" section of this release. ### Windows users Download \`lemur.exe\`. ### MacOS users If your Mac uses an Intel processor, download and install \`Lemur-Intel.dmg\`. If it uses Apple Silicon, download and install \`Lemur-Apple-Silicon.dmg\`. If you're not sure which to choose, use [this guide](https://support.apple.com/en-us/116943) to find out. ### Linux users You can either download and run \`lemur-linux\`, or download and install the attached .deb file. EOF ) payload=$(cat <<EOF { "body": $(echo "$body" | jq -Rsa .), "draft": false, "name": "v${version}", "prerelease": false, "tag_name": "v${version}" } EOF ) echo "Creating release..." response=$(curl -s --json "$payload" "https://git.virtual-boy.com/api/v1/repos/PVB/lemur/releases?token=$RELEASE_TOKEN") echo "$response" upload_url=$(echo "$response" | jq -r '.upload_url') for file in output/*; do echo "Uploading $(basename "$file")..." upload_res=$(curl -s -F "attachment=@$file" "$upload_url?name=$(basename "$file")&token=$RELEASE_TOKEN") echo "$upload_res" done