changeset 2625:672540d71ea5

Add nightly build script for web builds
author Michael Pavone <pavone@retrodev.com>
date Sat, 22 Feb 2025 22:46:48 -0800
parents 6bd492b8172e
children 36aa9ead0e62
files build_upload_web_nightly
diffstat 1 files changed, 74 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build_upload_web_nightly	Sat Feb 22 22:46:48 2025 -0800
@@ -0,0 +1,74 @@
+#!/bin/sh
+name=$1
+. "$HOME/$name.params"
+cd $HOME/$DIR
+hg revert -a
+hg pull
+hg up
+rev=`hg summary |  sed -E -n 's/^parent: [^:]+:([^ ]+) .*$/\1/p'`
+sed -i -E "s/(define BLASTEM_VERSION \"[^-]+)-pre\"/\1-pre-$rev\"/" version.inc
+. $HOME/software/emsdk/emsdk_env.sh
+make CC=emcc CPU=wasm m68k.o z80.o -j2
+result=$?
+if [ $result -ne 0 ]; then
+	echo Build falied with return code $result
+	curdate=`date -Iseconds`
+	curl -d'@-' -H 'Content-Type: application/json' "$WEBHOOKURL" <<WEBHOOKEOF
+{
+	"embeds": [
+		{
+			"title": "Build $name failed!",
+			"type": "rich",
+			"description": "Build falied with return code $result",
+			"timestamp": "$curdate",
+			"color": 16711680
+		}
+	]
+}
+WEBHOOKEOF
+	exit $result
+make CC=emcc CPU=wasm blastem.html -j4
+result=$?
+if [ $result -ne 0 ]; then
+	echo Build falied with return code $result
+	curdate=`date -Iseconds`
+	curl -d'@-' -H 'Content-Type: application/json' "$WEBHOOKURL" <<WEBHOOKEOF
+{
+	"embeds": [
+		{
+			"title": "Build $name failed!",
+			"type": "rich",
+			"description": "Build falied with return code $result",
+			"timestamp": "$curdate",
+			"color": 16711680
+		}
+	]
+}
+WEBHOOKEOF
+	exit $result
+fi
+. $HOME/remote.params
+echo "Uploaing blastem.wasm and blastem.js to $REMOTE_HOST"
+scp -i "$REMOTE_IDENT" "$HOME/$DIR/$blastem.wasm" "$HOME/$DIR/$blastem.js" $REMOTE_USER@$REMOTE_HOST:/home/$REMOTE_USER/web
+curdate=`date -Iseconds`
+version=`sed -E 's/^[^"]+"([^"]+)"$/\1/' version.inc`
+curl -d'@-' -H 'Content-Type: application/json' "$WEBHOOKURL" <<WEBHOOKEOF
+{
+	"embeds": [
+		{
+			"title": "BlastEm Web (emscripten)",
+			"type": "rich",
+			"url": "https://www.retrodev.com/blastem/web/",
+			"description": "New build of $name succeeded!",
+			"timestamp": "$curdate",
+			"color": 65280,
+			"fields": [
+				{
+					"name": "Version",
+					"value": "$version"
+				}
+			]
+		}
+	]
+}
+WEBHOOKEOF
\ No newline at end of file