fangorn/ex_git_objectstore
public
ref:main
bump-anvil-pin passed
Command:
set -e
git config --global --add safe.directory /workspace
export MIX_HOME=/workspace/.mix
# A tag-triggered run is not a merge to main, and its HEAD is the main
# commit, so the SHA gate below would wave it through and open a second
# identical pin-bump PR for every tag `release` pushes. Same reasoning
# as the guard in `release` — see the comment there.
case "${ANVIL_BRANCH:-}" in
refs/tags/*)
echo "Skipping pin bump: tag-triggered run ($ANVIL_BRANCH)"
exit 0
;;
esac
# Same gate as `release` above: CI checks out a detached HEAD, so the
# branch name is always "HEAD". Compare the checked-out SHA against
# origin/main instead. Deliberately not a `branch contains 'main'`
# match — that is a substring test and it matched
# feat/324-git-maintenance (fangorn/anvil#234).
git fetch origin main 2>/dev/null || true
HEAD_SHA=$(git rev-parse HEAD)
MAIN_SHA=$(git rev-parse origin/main 2>/dev/null || echo "")
if [ "$HEAD_SHA" != "$MAIN_SHA" ]; then
echo "Not a merge to main (HEAD $HEAD_SHA != origin/main $MAIN_SHA) — skipping pin bump"
exit 0
fi
# No secret needed: the top-level `permissions:` block asks for
# contents/pull_requests on fangorn/anvil, an admin there approves the
# request once, and the injected ANVIL_TOKEN carries those scopes for
# the life of this job (fangorn/anvil#245).
#
# A refused or unapproved request fails the job loudly — a silent skip
# would leave Anvil pinned to an old commit with nothing to show
# anything was missed. The script prints which approval is missing.
curl -sL "https://anvil.fangorn.io/runner/download?os=$(uname -s)&arch=$(uname -m)" -o /usr/local/bin/anvil
chmod +x /usr/local/bin/anvil
PIN_BUMP_SHA="$HEAD_SHA" mix run --no-start -r ci/pin_bump.exs \
-e 'ExGitObjectstore.CI.PinBump.main()'
Runner:
carl
online
linux/aarch64
Started: Aug 05, 2026 at 06:59 UTC
Completed: Aug 05, 2026 at 06:59 UTC
Duration: 2s
Exit code:
0
Build Output
Using cached prepared image: anvil-prepared:cfa6aaa93a51
Not a merge to main (HEAD 6b7f58aa0c21743f03ea79504d00a29bea7a7e5c != origin/main a7e0745724e439f7d28232e1afcf80e06a4cb800) — skipping pin bump