grapevine/bin/job
Charles Hall a5eba45472
set owner write bit in pages job
This makes deleting the copied files easier.
2024-12-11 11:39:20 -08:00

53 lines
794 B
Bash
Executable file

#!/usr/bin/env bash
job_artifacts() (
set -euo pipefail
nix-build-and-cache packages
)
job_ci() (
set -euo pipefail
nix-build-and-cache ci
direnv exec . engage
)
job_pages() (
set -euo pipefail
nix build .#website-root
cp --recursive --dereference result public
chmod u+w -R public
)
bail() (
set -euo pipefail
echo
echo "Job failed"
exit 1
)
run() (
set -euo pipefail
if [[ -z "${1+x}" ]]; then
echo "You must supply a job to run. Available jobs:"
declare -F | rg \
--only-matching \
--color never \
--replace '* $1' \
'^declare -f job_(.*)$'
exit 1
fi
job="$1"
cd "$(git rev-parse --show-toplevel)"
job_"$job" || bail
)
run "$@"