Unverified Commit a7994e4b authored by Jeremy Morrell's avatar Jeremy Morrell Committed by GitHub

Compare new semver logic for yarn binaries (#661)

* Dark-launch new semver matching logic for yarn
parent 2abb8cc7
#!/usr/bin/env bash
RESOLVE="$BP_DIR/vendor/resolve-version-$(get_os)"
install_yarn() {
local dir="$1"
local version=${2:-1.x}
local platform="$3"
local number url code
local number url code nodebin_result resolve_result
echo "Resolving yarn version $version..."
if ! read -r number url < <(curl --silent --get --retry 5 --retry-max-time 15 --data-urlencode "range=$version" "https://nodebin.herokai.com/v1/yarn/$platform/latest.txt"); then
fail_bin_install yarn "$version" "$platform";
nodebin_result=$(curl --fail --silent --get --retry 5 --retry-max-time 15 --data-urlencode "range=$version" "https://nodebin.herokai.com/v1/yarn/$platform/latest.txt" || echo "failed")
resolve_result=$($RESOLVE yarn "$version" || echo "failed")
if [[ "$nodebin_result" == "failed" ]]; then
fail_bin_install yarn "$version" "$platform"
fi
read -r number url < <(echo "$nodebin_result")
# log out whether the new logic matches the old logic
if [[ "$nodebin_result" != "$resolve_result" ]]; then
meta_set "resolve-matches-nodebin-yarn" "false"
else
meta_set "resolve-matches-nodebin-yarn" "true"
fi
# log out when the new logic fails
if [[ "$resolve_result" == "failed" ]]; then
meta_set "resolve-failed" "true"
fi
echo "Downloading and installing yarn ($number)..."
......
......@@ -1082,6 +1082,9 @@ testBuildMetaData() {
assertFileContains "install-yarn-binary-memory=" $log_file
assertFileContains "install-yarn-binary-time=" $log_file
assertFileContains "node-build-success=true" $log_file
# log resolve logic dark-launch
assertFileContains "resolve-matches-nodebin-yarn=true" $log_file
}
testFailingBuildMetaData() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment