summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xdeploy-static9
-rwxr-xr-xprocess-static12
3 files changed, 21 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 890d4987..c57b271e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ nginx-tmp
node_modules
static-tmp
releases-base
+lock
diff --git a/deploy-static b/deploy-static
index 9ace9230..287593c7 100755
--- a/deploy-static
+++ b/deploy-static
@@ -2,7 +2,14 @@
set -o errexit -o nounset -o pipefail
-./process-static
+touch lock
+exec {fd}< lock
+if ! flock -n $fd; then
+ echo deploy_static already locked >&2
+ exit 1
+fi
+
+./process-static $fd
servers=({0..2}.grapheneos.org)
diff --git a/process-static b/process-static
index 88f04d04..bbc7198d 100755
--- a/process-static
+++ b/process-static
@@ -3,6 +3,18 @@
set -o errexit -o nounset -o pipefail
shopt -s dotglob extglob globstar
+if [[ $# -eq 1 ]]; then
+ fd=$1
+else
+ touch lock
+ exec {fd}< lock
+fi
+
+if ! flock -n $fd; then
+ echo deploy_static already locked >&2
+ exit 1
+fi
+
export PATH="$PWD/node_modules/.bin:$PATH"
# can use file:// to avoid network requests