aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/make-release.sh55
-rwxr-xr-xmake2
2 files changed, 56 insertions, 1 deletions
diff --git a/bin/make-release.sh b/bin/make-release.sh
new file mode 100755
index 0000000..da985d1
--- /dev/null
+++ b/bin/make-release.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Create a release file for Anduril .hex files.
+# Copyright (C) 2023 Selene ToyKeeper
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+set -e # abort on error
+
+# run from repo root
+REPODIR=$(dirname "$0")/..
+cd "$REPODIR"
+
+# get rid of 1st arg if it's "release" passed from 'make'
+[[ "$1" = "release" ]] && shift
+
+# try to get the repo ready for a release
+# (or not; probably better to do these steps manually)
+#make clean
+#make
+
+# release name
+#REV=$(date +'%Y-%m-%d')
+REV=$(git describe --tags --dirty --match='r2*')
+REV="${REV:1}" # convert 'r2023-...' to '2023-...'
+# allow manually specifying a release name
+[[ -n "$1" ]] && REV="$1"
+
+# releases are named "$project.$revision"
+RELNAME="anduril.$REV"
+
+# release directory
+RELDIR="releases/$RELNAME"
+mkdir -p "$RELDIR" "$RELDIR/hex"
+
+# add documentation and stuff
+cp -a \
+ ChangeLog.md \
+ LICENSE \
+ MODELS \
+ README.md \
+ docs/anduril-manual.md \
+ docs/battery-rainbow.png \
+ docs/which-hex-file.md \
+ "$RELDIR"
+
+# add the .hex files
+rename -f 's|hex/anduril.|'"$RELDIR/hex/$RELNAME"'.|;' hex/*.hex
+
+# make a .zip file
+cd releases
+mkdir -p zip
+ZPATH=zip/"$RELNAME".zip
+zip -q -r "$ZPATH" "$RELNAME"
+cd ..
+ls -l "releases/$ZPATH"
+
diff --git a/make b/make
index c50219d..d34a4b8 100755
--- a/make
+++ b/make
@@ -73,7 +73,7 @@ function main() {
cat MODELS
;;
release)
- echo "Not implemented yet."
+ ./bin/make-release.sh "$@"
;;
todo)
grep -E 'TODO:|FIXME:' -- **/*.[ch] **/*.md