diff options
author | Ben Sima <ben@bsima.me> | 2024-04-01 15:19:49 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2024-04-01 15:19:49 -0400 |
commit | 2d40ec3a03f4684f6fabba7dee2981c992a13785 (patch) | |
tree | 1edc1522fd5eb8e6d20b1b4dbde89f3e49ad9e51 /Biz/Cloud/post-receive.sh | |
parent | db373a8c727cad91d375b40a6c70b11ed73bdafb (diff) |
Rename .bash files to .sh
I was already using .sh to refer to shell scripts. When I added .bash, I didn't
realize that the linter was set to act on .sh files and not .bash files, so all
of these bash scripts escaped the linter.
This commit renames them to .sh, removes the .bash extension support from
Biz.Namespace, and fixes all the reported shellcheck errors.
Diffstat (limited to 'Biz/Cloud/post-receive.sh')
-rwxr-xr-x | Biz/Cloud/post-receive.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Biz/Cloud/post-receive.sh b/Biz/Cloud/post-receive.sh new file mode 100755 index 0000000..cedbf90 --- /dev/null +++ b/Biz/Cloud/post-receive.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +# +# creates an archive of a git repo on push +# +# unfortunately the nixos gitolite module does not copy the 'commonHooks' +# properly, so we have to manually deploy this like so: +# +# scp Biz/Cloud/post-receive \ +# root@simatime.com:/srv/git/.gitolite/hooks/common/post-receive +# +# One time only: +# +# ssh root@simatime.com "sudo -u git gitolite setup -ho" +# +# Also on first-time setup, might need to manually check the permissions are +# correct on $webroot/archive or wherever else. +# +set -euo pipefail +while read -r _ newrev refname +do + if [[ -e ./git-daemon-export-ok ]] + then + repo=$(basename "$PWD" | sed 's/.git//g') + branch=$(git rev-parse --symbolic --abbrev-ref "$refname") + webroot="/srv/www/simatime.com/" + outdir="$webroot/archive/$repo/$branch" + mkdir -p "$outdir" + echo " making: https://simatime.com/archive/$repo/$branch/$newrev.tar.gz" + git archive "$branch" --prefix "$repo-$branch/" --format tar \ + | gzip > "$outdir/$newrev.tar.gz" + echo " making: https://simatime.com/archive/$repo/$branch/$newrev.sha256" + hash=$(nix-prefetch-url --unpack file://"$outdir"/"$newrev".tar.gz 2>/dev/null) + echo "$hash" > "$outdir/$newrev.sha256" + echo " commit: $newrev" + echo " sha256: $hash" + echo " in biz: deps update $repo --branch $branch --rev $newrev --attribute sha256=$hash" + chmod -R 755 "$webroot/archive" + fi +done |