git.delta.rocks / unique-network / refs/commits / d7cd036effa1

difftreelog

test script clarification messages

Yaroslav Bolyukin2022-11-25parent: #6b2c051.patch.diff
in: master

1 file changed

modifiedtests/scripts/generate_types_package.shdiffbeforeafterboth
before · tests/scripts/generate_types_package.sh
1#!/usr/bin/env bash23set -eu45DIR=$(realpath $(dirname "$0"))6TEMPLATE=$DIR/types_template7GIT_REPO=git@github.com:UniqueNetwork/unique-types-js.git89. $DIR/functions.sh1011usage() {12	echo "Usage: [RPC_URL=http://localhost:9933] $0 [--rc|--release|--sapphire] [--force] [--rpc-url=http://localhost:9933]" 1>&213	exit 114}1516rc=17sapphire=18release=19force=2021for i in "$@"; do22case $i in23	--rc)24		rc=125		if test "$release" -o "$sapphire"; then usage; fi26		;;27	--sapphire)28		sapphire=129		if test "$rc" -o "$release"; then usage; fi30		;;31	--release)32		release=133		if test "$rc" -o "$sapphire"; then usage; fi34		;;35	--force)36		force=137		;;38	--rpc-url=*)39		RPC_URL=${i#*=}40		;;41	*)42		usage43		;;44esac45done4647if test \( ! \( "$rc" -o "$release" -o "$sapphire" \) \) -o \( "${RPC_URL=}" = "" \); then48	usage49elif test "$rc"; then50	echo "Rc build"51else52	echo "Release build"53fi5455cd $DIR/..56yarn polkadot-types5758version=$(do_rpc state_getRuntimeVersion "")59spec_version=$(echo $version | jq -r .result.specVersion)60spec_name=$(echo $version | jq -r .result.specName)61echo "Spec version: $spec_version, name: $spec_name"6263case $spec_name in64	opal)65		package_name=@unique-nft/opal-testnet-types66		repo_branch=opal-testnet67		repo_tag=$repo_branch68		;;69	quartz)70		package_name=@unique-nft/quartz-mainnet-types71		repo_branch=quartz-mainnet72		repo_tag=$repo_branch73		;;74	unique)75		package_name=@unique-nft/unique-mainnet-types76		repo_branch=master77		repo_tag=unique-mainnet78		;;79	*)80		echo "unknown spec name: $spec_name"81		exit 182		;;83esac8485if test "$rc" = 1; then86	if "$spec_name" != opal; then87		echo "rc types can only be based on opal spec"88		exit 189	fi90	package_name=@unique-nft/rc-types91	repo_branch=rc92	repo_tag=$repo_branch93fi94if test "$sapphire" = 1; then95	if "$spec_name" != opal; then96		echo "sapphire types can only be based on opal spec"97		exit 198	fi99	package_name=@unique-nft/sapphire-mainnet-types100	repo_branch=sapphire-mainnet101	repo_tag=$repo_branch102fi103104package_version=${spec_version:0:3}.$(echo ${spec_version:3:3} | sed 's/^0*//').105last_patch=NEVER106for tag in $(git ls-remote -t --refs $GIT_REPO | cut -f 2 | sort -r); do107	tag_prefix=refs/tags/$repo_tag-v$package_version108	if [[ $tag == $tag_prefix* ]]; then109		last_patch=${tag#$tag_prefix}110		break;111	fi112done113echo "Package version: ${package_version}X, name: $package_name"114echo "Last published: $package_version$last_patch"115116if test "$last_patch" = "NEVER"; then117	new_package_version=${package_version}0118else119	new_package_version=${package_version}$((last_patch+1))120fi121package_version=${package_version}$last_patch122echo "New package version: $new_package_version"123124pjsapi_ver=^$(cat $DIR/../package.json | jq -r '.dependencies."@polkadot/api"' | sed -e "s/^\^//")125tsnode_ver=^$(cat $DIR/../package.json | jq -r '.devDependencies."ts-node"' | sed -e "s/^\^//")126ts_ver=^$(cat $DIR/../package.json | jq -r '.devDependencies."typescript"' | sed -e "s/^\^//")127128gen=$(mktemp -d)129pushd $gen130git clone $GIT_REPO -b $repo_branch --depth 1 .131if test "$last_patch" != "NEVER"; then132	git reset --hard $repo_tag-v$package_version133fi134git rm -r "*"135popd136137# Using old package_version here, becaue we first check if138# there is any difference between generated and already uplaoded types139cat $TEMPLATE/package.json \140| jq '.private = false' - \141| jq '.name = "'$package_name'"' - \142| jq '.version = "'$package_version'"' - \143| jq '.peerDependencies."@polkadot/api" = "'$pjsapi_ver'"' - \144| jq '.peerDependencies."@polkadot/types" = "'$pjsapi_ver'"' - \145| jq '.devDependencies."@polkadot/api" = "'$pjsapi_ver'"' - \146| jq '.devDependencies."@polkadot/types" = "'$pjsapi_ver'"' - \147| jq '.devDependencies."ts-node" = "'$tsnode_ver'"' - \148| jq '.devDependencies."typescript" = "'$ts_ver'"' - \149> $gen/package.json150for file in .gitignore .npmignore README.md tsconfig.json; do151	cp $TEMPLATE/$file $gen/152done153package_name_replacement=$(printf '%s\n' "$package_name" | sed -e 's/[\/&]/\\&/g')154sed -i 's/PKGNAME/'$package_name_replacement'/' $gen/README.md155156rsync -ar --exclude .gitignore src/interfaces/ $gen157for file in $gen/augment-* $gen/**/types.ts $gen/registry.ts; do158	sed -i '1s;^;//@ts-nocheck\n;' $file159done160161pushd $gen162git add .163popd164165pushd $gen166if git diff --quiet HEAD && test ! "$force"; then167	echo "no changes detected"168	exit 0169fi170popd171172mv $gen/package.json $gen/package.old.json173cat $gen/package.old.json \174| jq '.version = "'$new_package_version'"' - \175> $gen/package.json176rm $gen/package.old.json177pushd $gen178git add package.json179popd180181echo "package.json contents:"182cat $gen/package.json183echo "overall diff:"184pushd $gen185git status186git diff HEAD || true187popd188189# This check is only active if running in interactive terminal190if [ -t 0 ]; then191	read -p "Is everything ok at $gen? " -n 1 -r192	echo193	if [[ ! $REPLY =~ ^[Yy]$ ]]; then194		echo "Aborting!"195		exit 1196	fi197fi198199pushd $gen200yarn201yarn prepublish202git commit -m "chore: upgrade types to v$new_package_version"203git tag --force $repo_tag-v$new_package_version204git push --tags --force -u origin HEAD205#yarn publish206popd