summaryrefslogtreecommitdiffstatshomepage
path: root/ci
diff options
context:
space:
mode:
authorManlio Perillo <manlio.perillo@gmail.com>2023-04-12 17:04:18 +0200
committerManlio Perillo <manlio.perillo@gmail.com>2023-04-18 18:16:19 +0200
commitb59bef29b9c74270539e2f775d2f0394ec435f2d (patch)
treecbe8ebf8e9ed08d3808a81e314a8d1af5552d736 /ci
parentb84217161cfb18aed2b42506c193abe778aa3b5f (diff)
ci: add a CI workflow
Add a new github workflow named CI. Add a job named compat, checking that and old Zig compiler will not fail with a compiler error, but instead will print an useful error message.
Diffstat (limited to 'ci')
-rwxr-xr-xci/compat.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/ci/compat.sh b/ci/compat.sh
new file mode 100755
index 0000000..f5895fd
--- /dev/null
+++ b/ci/compat.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# This script checks that `zig build` will return an useful error message when
+# the Zig compiler is not compatible, instead of failing due to a syntax error.
+#
+# This script should be run on an UNIX system.
+
+zig_version=$(zig version)
+
+zig build -Dn=1 -Dhealed &> /dev/null 2>&1
+zig_ret=$?
+
+if [ "$zig_ret" -eq 0 ]; then
+ printf "zig %s unexpectedly succeeded\n" "$zig_version"
+ exit 1
+fi
+
+zig_error=$(zig build -Dn=1 -Dhealed 2>&1)
+
+echo "$zig_error" | grep -q "it looks like your version of zig is too old"
+zig_ret=$?
+
+if [ "$zig_ret" -ne 0 ]; then
+ printf "zig %s is not compatible\n" "$zig_version"
+ exit 1
+fi