aboutsummaryrefslogtreecommitdiff
path: root/src/tools/ci/gcp_ram_disk.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/ci/gcp_ram_disk.sh')
-rwxr-xr-xsrc/tools/ci/gcp_ram_disk.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/tools/ci/gcp_ram_disk.sh b/src/tools/ci/gcp_ram_disk.sh
new file mode 100755
index 00000000000..d48634512ac
--- /dev/null
+++ b/src/tools/ci/gcp_ram_disk.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Move working directory into a RAM disk for better performance.
+
+set -e
+set -x
+
+mv $CIRRUS_WORKING_DIR $CIRRUS_WORKING_DIR.orig
+mkdir $CIRRUS_WORKING_DIR
+
+case "`uname`" in
+ FreeBSD|NetBSD)
+ mount -t tmpfs tmpfs $CIRRUS_WORKING_DIR
+ ;;
+ OpenBSD)
+ umount /dev/sd0j # unused /usr/obj partition
+ printf "m j\n\n\nswap\nw\nq\n" | disklabel -E sd0
+ swapon /dev/sd0j
+ mount -t mfs -o rw,noatime,nodev,-s=8000000 swap $CIRRUS_WORKING_DIR
+ ;;
+esac
+
+cp -a $CIRRUS_WORKING_DIR.orig/. $CIRRUS_WORKING_DIR/