ref:main

ci passed

push Branch: refs/heads/ci/calver-release-publishing fedf3c8
Started: Apr 10, 2026 at 05:37 UTC Completed: Apr 10, 2026 at 05:49 UTC Duration: 11m 56s
Pipeline validated with warnings
  • step 'check': 'cache' is accepted but not yet implemented
  • step 'test': 'cache' is accepted but not yet implemented
  • step 'coverage': 'cache' is accepted but not yet implemented
  • step 'clippy': 'cache' is accepted but not yet implemented
  • step 'build': 'cache' is accepted but not yet implemented
  • step 'build-runner': 'cache' is accepted but not yet implemented

Jobs

Stage 2
passed build
exit: 0 56s
on carl (linux/arm64)
cargo build --release 2>&1
depends on test clippy fmt
passed build-runner
exit: 0 2m 3s
on carl (linux/arm64)
set -e
apt-get update && apt-get install -y gcc-x86-64-linux-gnu jq 2>&1

# Build arm64 natively (CI runner is aarch64)
echo "==> Building arm64 binary (native)..."
cargo build --release 2>&1

# Cross-compile amd64
echo "==> Cross-compiling amd64 binary..."
rustup target add x86_64-unknown-linux-gnu 2>&1
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-linux-gnu-gcc \
  cargo build --release --target x86_64-unknown-linux-gnu 2>&1

# Stage for CI artifact upload (unversioned names)
mkdir -p runner-dist
cp target/release/anvil runner-dist/anvil_runner_linux_arm64
cp target/x86_64-unknown-linux-gnu/release/anvil runner-dist/anvil_runner_linux_amd64

# On main branch: compute CalVer version, publish release, upload assets.
# ANVIL_SERVER_URL is injected by CI. ANVIL_TOKEN must be set as a CI secret.
if [ "$ANVIL_BRANCH" = "main" ] || [ "$ANVIL_BRANCH" = "refs/heads/main" ]; then
  if [ -z "${ANVIL_TOKEN:-}" ]; then
    echo "ERROR: ANVIL_TOKEN secret not set. Run: anvil ci set-secret ANVIL_TOKEN <pat>"
    exit 1
  fi

  export ANVIL_CLI="$PWD/target/release/anvil"
  VERSION=$(bash ci/release.sh)
  echo "==> Publishing release $VERSION"

  cp target/release/anvil "runner-dist/anvil_runner_linux_arm64_${VERSION}"
  cp target/x86_64-unknown-linux-gnu/release/anvil "runner-dist/anvil_runner_linux_amd64_${VERSION}"

  "$ANVIL_CLI" release create \
    --tag "$VERSION" \
    --title "anvil-cli $VERSION" \
    --body "Runner binaries for linux/amd64 and linux/arm64." \
    --repo fangorn/anvil-cli
  "$ANVIL_CLI" release upload "$VERSION" \
    "runner-dist/anvil_runner_linux_arm64_${VERSION}" \
    --repo fangorn/anvil-cli
  "$ANVIL_CLI" release upload "$VERSION" \
    "runner-dist/anvil_runner_linux_amd64_${VERSION}" \
    --repo fangorn/anvil-cli

  echo "==> Published release $VERSION"
fi
depends on test clippy fmt

Artifacts

anvil-binary application/octet-stream
8.3 MB Download
anvil_runner_linux_amd64 application/octet-stream
8.7 MB Download
anvil_runner_linux_arm64 application/octet-stream
8.3 MB Download
lcov.info text/plain
38.6 KB Download