Files
evm/scripts/update_avalanchego_version.sh
T
zeekay 9cb77af539 fix: remove ALL ava-labs/libevm imports
- Remove all references to github.com/ava-labs/libevm
- Clean up imports in state, triedb, and test files
2025-07-17 17:06:20 -05:00

41 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
if ! [[ "$0" =~ scripts/update_avalanchego_version.sh ]]; then
echo "must be run from repository root, but got $0"
exit 255
fi
SUBNET_EVM_PATH=$(
cd "$(dirname "${BASH_SOURCE[0]}")"
cd .. && pwd
)
# If version is not provided, the existing version in go.mod is assumed
VERSION="${1:-}"
if [[ -n "${VERSION}" ]]; then
echo "Ensuring AvalancheGo version $VERSION in go.mod"
go get "github.com/luxfi/avalanchego@${VERSION}"
go mod tidy
fi
# Discover AVALANCHE_VERSION
. "$SUBNET_EVM_PATH"/scripts/constants.sh
# The full SHA is required for versioning custom actions.
CURL_ARGS=(curl -s)
if [[ -n "${GITHUB_TOKEN:-}" ]]; then
# Using an auth token avoids being rate limited when run in CI
CURL_ARGS+=(-H "Authorization: token ${GITHUB_TOKEN}")
fi
CURL_URL="https://api.github.com/repos/luxfi/avalanchego/commits/${AVALANCHE_VERSION}"
FULL_AVALANCHE_VERSION="$("${CURL_ARGS[@]}" "${CURL_URL}" | grep '"sha":' | head -n1 | cut -d'"' -f4)"
# Ensure the custom action version matches the avalanche version
WORKFLOW_PATH=".github/workflows/tests.yml"
CUSTOM_ACTION="luxfi/avalanchego/.github/actions/run-monitored-tmpnet-cmd"
echo "Ensuring AvalancheGo version ${FULL_AVALANCHE_VERSION} for ${CUSTOM_ACTION} custom action in ${WORKFLOW_PATH} "
sed -i.bak "s|\(uses: ${CUSTOM_ACTION}\)@.*|\1@${FULL_AVALANCHE_VERSION}|g" "${WORKFLOW_PATH}" && rm -f "${WORKFLOW_PATH}.bak"