mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-16 15:21:24 +01:00
53 lines
794 B
Bash
Executable file
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 "$@"
|