Merge pull request #7331 from filecoin-project/mg/release/binary-version-check
feat(ci): include version/cli checks in tagged releases
This commit is contained in:
commit
79e141e71d
@ -92,6 +92,9 @@ jobs:
|
|||||||
- run: sudo apt-get install npm
|
- run: sudo apt-get install npm
|
||||||
- run:
|
- run:
|
||||||
command: make buildall
|
command: make buildall
|
||||||
|
- run:
|
||||||
|
name: check tag and version output match
|
||||||
|
command: ./scripts/version-check.sh ./lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: lotus
|
path: lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
@ -383,6 +386,9 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
command: make build
|
command: make build
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
|
- run:
|
||||||
|
name: check tag and version output match
|
||||||
|
command: ./scripts/version-check.sh ./lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: lotus
|
path: lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
|
@ -92,6 +92,9 @@ jobs:
|
|||||||
- run: sudo apt-get install npm
|
- run: sudo apt-get install npm
|
||||||
- run:
|
- run:
|
||||||
command: make buildall
|
command: make buildall
|
||||||
|
- run:
|
||||||
|
name: check tag and version output match
|
||||||
|
command: ./scripts/version-check.sh ./lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: lotus
|
path: lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
@ -383,6 +386,9 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
command: make build
|
command: make build
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
|
- run:
|
||||||
|
name: check tag and version output match
|
||||||
|
command: ./scripts/version-check.sh ./lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: lotus
|
path: lotus
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
|
39
scripts/version-check.sh
Executable file
39
scripts/version-check.sh
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
# Validate lotus version matches the current tag
|
||||||
|
# $1 - lotus path to execute
|
||||||
|
# $2 - lotus git tag for this release
|
||||||
|
function validate_lotus_version_matches_tag(){
|
||||||
|
# sanity checks
|
||||||
|
if [[ $# != 2 ]]; then
|
||||||
|
echo "expected 2 args for validate_lotus_version, got ${$#}"
|
||||||
|
exit 100
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extract version from `lotus --version` response
|
||||||
|
lotus_path=$1
|
||||||
|
# get version
|
||||||
|
lotus_raw_version=`${lotus_path} --version`
|
||||||
|
# grep for version string
|
||||||
|
lotus_actual_version=`echo ${lotus_raw_version} | grep -oE '[0-9]+.[0-9]+.[0-9]+'`
|
||||||
|
|
||||||
|
# trim leading 'v'
|
||||||
|
tag=${2#v}
|
||||||
|
# trim possible -rc[0-9]
|
||||||
|
expected_version=${tag%-*}
|
||||||
|
|
||||||
|
# check the versions are consistent
|
||||||
|
if [[ ${expected_version} != ${lotus_actual_version} ]]; then
|
||||||
|
echo "lotus version does not match build tag"
|
||||||
|
exit 101
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_lotus_path=$1
|
||||||
|
|
||||||
|
if [[ ! -z "${CIRCLE_TAG}" ]]; then
|
||||||
|
validate_lotus_version_matches_tag "${_lotus_path}" "${CIRCLE_TAG}"
|
||||||
|
else
|
||||||
|
echo "No CI tag found. Skipping version check."
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user