- New `flake-lock` Dagger function: runs `nix flake lock` in a nixos/nix container, returns the updated flake.lock file. - provision-ringtail now: updates flake.lock via Dagger before deploy, verifies current commit is pushed to forge, and passes the exact commit SHA to the ansible playbook. - Playbook accepts `ringtail_commit` var to deploy a specific ref. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
954 B
Bash
Executable file
31 lines
954 B
Bash
Executable file
#!/usr/bin/env bash
|
|
#MISE description="Run ansible playbook to provision ringtail (NixOS)"
|
|
|
|
set -euo pipefail
|
|
|
|
export MISE_TASK_OUTPUT=interleave
|
|
|
|
# Update flake.lock via Dagger before deploying
|
|
echo "Updating nixos/ringtail/flake.lock..."
|
|
dagger call flake-lock --src=. --flake-path=nixos/ringtail \
|
|
export --path=nixos/ringtail/flake.lock
|
|
|
|
if ! git diff --quiet nixos/ringtail/flake.lock; then
|
|
git add nixos/ringtail/flake.lock
|
|
echo "flake.lock changed and staged. Commit, push, and re-run."
|
|
exit 1
|
|
fi
|
|
|
|
COMMIT=$(git rev-parse HEAD)
|
|
REMOTE_REF=$(git ls-remote origin "$(git rev-parse --abbrev-ref HEAD)" 2>/dev/null | awk '{print $1}')
|
|
|
|
if [[ "$REMOTE_REF" != "$COMMIT" ]]; then
|
|
echo "ERROR: Current commit $COMMIT is not pushed to forge."
|
|
echo "Push your changes first: git push"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Deploying commit $COMMIT to ringtail..."
|
|
|
|
cd ansible
|
|
ansible-playbook playbooks/ringtail.yml -e "ringtail_commit=$COMMIT" "$@"
|