diff --git a/.gitignore b/.gitignore index cb638e4..8749f63 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ nginx-tmp static-tmp +lock diff --git a/deploy-static b/deploy-static index 7c0c8fc..9f2e632 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 remote=root@matrix.grapheneos.org active=$(ssh $remote readlink /srv/element.grapheneos.org) diff --git a/process-static b/process-static index 03a1eb7..a912648 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" rm -rf nginx-tmp