ref:main

ci failed

push Branch: refs/heads/main 66017f9
Started: Apr 09, 2026 at 21:05 UTC Completed: Apr 09, 2026 at 21:08 UTC Duration: 2m 24s
Pipeline validated

Jobs

Stage 3
failed release
exit: 2 23s
on carl (linux/arm64)
set -e
apt-get update && apt-get install -y --no-install-recommends git jq curl
git config --global --add safe.directory /workspace
export MIX_HOME=/workspace/.mix

# Only release from main branch
# CI checks out a detached HEAD so git branch name is always "HEAD".
# Compare the checked-out SHA against origin/main instead.
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 "Skipping release: HEAD ($HEAD_SHA) != origin/main ($MAIN_SHA)"
  exit 0
fi

# Install anvil CLI
curl -sL "https://anvil.fangorn.io/cli/download?os=$(uname -s)&arch=$(uname -m)" -o /usr/local/bin/anvil
chmod +x /usr/local/bin/anvil

# Compute CalVer version
VERSION=$(bash ci/release.sh)
echo "Releasing version: $VERSION"

# Idempotency: skip if this version tag already exists
if git rev-parse "$VERSION" >/dev/null 2>&1; then
  echo "Tag $VERSION already exists, skipping release"
  exit 0
fi

# Build with version
export VERSION
mix compile

# Generate changelog from commits since last tag
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)
CHANGELOG=$(git log --oneline "$LAST_TAG"..HEAD)

# Generate docs
mix docs
tar czf ex_git_objectstore-${VERSION}-docs.tar.gz doc/

# Create Anvil release
anvil release create \
  --tag "$VERSION" \
  --title "ExGitObjectstore $VERSION" \
  --body "$CHANGELOG"

# Tag and push
git tag "$VERSION"
git push origin "$VERSION"

echo "Released $VERSION"
depends on compile format dialyzer test

Artifacts

lcov.info text/plain
21.7 KB Download