From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 8 Jan 2024 01:21:28 +0400 Subject: Initial vendor packages Signed-off-by: Valentin Popov --- vendor/image/release.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 vendor/image/release.sh (limited to 'vendor/image/release.sh') diff --git a/vendor/image/release.sh b/vendor/image/release.sh new file mode 100755 index 0000000..ae164d3 --- /dev/null +++ b/vendor/image/release.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# Checks automatic preconditions for a release +determine_new_version() { + grep "version = " Cargo.toml | sed -Ee 's/version = "(.*)"/\1/' | head -1 +} + +check_notexists_version() { + # Does the api information start with: '{"errors":' + [[ $(wget "https://crates.io/api/v1/crates/image/$1" -qO -) == "{\"errors\":"* ]] +} + +check_release_description() { + major=${1%%.*} + minor_patch=${1#$major.} + minor=${minor_patch%%.*} + patch=${minor_patch#$minor.} + # We just need to find a fitting header line + grep -Eq "^### Version ${major}.${minor}$" CHANGES.md +} + +version="$(determine_new_version)" +check_release_description $version || { echo "Version does not have a release description"; exit 1; } +check_notexists_version $version || { echo "Version $version appears already published"; exit 1; } + -- cgit v1.2.3