From 476bd294c1138af37a5c96ca2ba4bea5bb646f7b Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Wed, 17 Jul 2024 14:54:09 +0200 Subject: [PATCH 1/9] Fix #3 - check release version script --- .github/project.yml | 4 +-- .github/workflows/check-release-version.yml | 38 +++++++++++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/.github/project.yml b/.github/project.yml index 0a2d59b26..e5d852fd3 100644 --- a/.github/project.yml +++ b/.github/project.yml @@ -1,4 +1,4 @@ name: Quarkus QE Test Framework release: - current-version: 1.5.0.Beta9 - next-version: 1.5.0.Beta10 + current-version: 1.6.0.Beta1 + next-version: 1.6.0.Beta2 diff --git a/.github/workflows/check-release-version.yml b/.github/workflows/check-release-version.yml index 22a4e7a72..6bf2f8943 100644 --- a/.github/workflows/check-release-version.yml +++ b/.github/workflows/check-release-version.yml @@ -28,31 +28,49 @@ jobs: current_release=$(curl -sSL "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/latest" | jq -r .tag_name) current_release_minor_version=$(echo "$current_release" | cut -d"." -f2,2) + # Check if can change minor version after creating new branch - if [[ $current_release_minor_version == $next_prerelease_minor_version ]]; then - echo "Error: next LTS release branch is out, bump version to 1."$((next_prerelease_minor_version+1))".0.Beta1" + if [[ "$current_release_minor_version" == "$next_prerelease_minor_version" ]]; then + echo "Error: next LTS release branch is out, bump version to 1."$(("$next_prerelease_minor_version" + 1))".0.Beta1" exit 1; - else - prerelease_minor_version_bump=true + elif [[ "$next_prerelease_beta_number" == 1 ]]; then + prerelease_minor_version_bump=true fi - if [[ $(("$current_release_minor_version" + 1)) != $next_prerelease_minor_version ]]; then + if [[ $(("$current_release_minor_version" + 1)) != "$next_prerelease_minor_version" ]]; then echo "Error: pre-releases should have minor version one upper than last release" exit 1; fi - if [[ $next_prerelease_patch_version != 0 ]]; then + if [[ "$next_prerelease_patch_version" != 0 || -z "$next_prerelease_beta_number" ]]; then echo "Error: new releases are not allowed from development branch, use .Beta\D+ qualifier" exit 1; fi - if [[ !($prerelease_minor_version_bump) && ($next_prerelease_beta_number != $(("$latest_prerelease_beta_number" + 1))) ]]; then + if (! "$prerelease_minor_version_bump") && [[ ("$next_prerelease_beta_number" != $(("$latest_prerelease_beta_number" + 1))) ]]; then echo "Error: pre-release version should go one by one as sequence" correct_version=$(echo "$latest_prerelease" | cut -d"." -f1,2,3) - correct_prerelease_number=$(($latest_prerelease_beta_number + 1)) + correct_prerelease_number=$(("$latest_prerelease_beta_number" + 1)) echo "After" $latest_prerelease "should go "$correct_version".Beta"$correct_prerelease_number exit 1; fi + + project_current_base=$(echo "$next_prerelease" | grep -oP '^.*Beta') + echo "$project_current_base" + project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') + echo "$project_next_version" + project_next_base=$(echo "$project_next_version" | grep -oP '^.*Beta') + echo "$project_next_base" + + project_current_beta_number="$next_prerelease_beta_number" + echo "$project_current_beta_number" + project_next_beta_number=$(echo "$project_next_version" | grep -oP 'Beta\K[0-9]+') + echo "$project_next_beta_number" + + if [[ "$project_current_base" != "$project_next_base" ]] || [[ $(("$project_current_beta_number" + 1)) != "$project_next_beta_number" ]]; then + echo "The next-version in project.yaml is not valid. Next pre-release Beta version must be one upper that current" + exit 1; + fi else expected_release_version=$(echo "$GITHUB_BASE_REF" | sed 's/z/0/') @@ -79,12 +97,12 @@ jobs: next_release_patch_version=$(echo "$next_release" | cut -d"." -f3,3) beta_tag_exists=$(echo "$next_release" | cut -d"." -f4,4 || true) - if [ -n $beta_tag_exists ]; then + if [ -n "$beta_tag_exists" ]; then echo "Releases cannot consist any qualifier after version" exit 1; fi - if [[ $branch_minor_version != $next_release_minor_version ]]; then + if [[ "$branch_minor_version" != "$next_release_minor_version" ]]; then echo "Error: minor versions cannot be changed" exit 1; fi From a23df324ea8ca7a9c903c3eaac8b6588ab433d65 Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:32:59 +0200 Subject: [PATCH 2/9] test --- .github/project.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/project.yml b/.github/project.yml index 0a2d59b26..e5d852fd3 100644 --- a/.github/project.yml +++ b/.github/project.yml @@ -1,4 +1,4 @@ name: Quarkus QE Test Framework release: - current-version: 1.5.0.Beta9 - next-version: 1.5.0.Beta10 + current-version: 1.6.0.Beta1 + next-version: 1.6.0.Beta2 From bed992f725c1a445a86a91bf8787bbab26ed3ee0 Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:33:38 +0200 Subject: [PATCH 3/9] test --- .github/workflows/check-release-version.yml | 43 ++++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/.github/workflows/check-release-version.yml b/.github/workflows/check-release-version.yml index 22a4e7a72..d5e299995 100644 --- a/.github/workflows/check-release-version.yml +++ b/.github/workflows/check-release-version.yml @@ -29,30 +29,42 @@ jobs: current_release_minor_version=$(echo "$current_release" | cut -d"." -f2,2) # Check if can change minor version after creating new branch - if [[ $current_release_minor_version == $next_prerelease_minor_version ]]; then - echo "Error: next LTS release branch is out, bump version to 1."$((next_prerelease_minor_version+1))".0.Beta1" + if [[ "$current_release_minor_version" == "$next_prerelease_minor_version" ]]; then + echo "Error: next LTS release branch is out, bump version to 1."$(("$next_prerelease_minor_version" + 1))".0.Beta1" exit 1; - else - prerelease_minor_version_bump=true + elif [[ "$next_prerelease_beta_number" == 1 ]]; then + prerelease_minor_version_bump=true fi - if [[ $(("$current_release_minor_version" + 1)) != $next_prerelease_minor_version ]]; then + if [[ $(("$current_release_minor_version" + 1)) != "$next_prerelease_minor_version" ]]; then echo "Error: pre-releases should have minor version one upper than last release" exit 1; fi - if [[ $next_prerelease_patch_version != 0 ]]; then + if [[ "$next_prerelease_patch_version" != 0 || -z "$next_prerelease_beta_number" ]]; then echo "Error: new releases are not allowed from development branch, use .Beta\D+ qualifier" exit 1; fi - if [[ !($prerelease_minor_version_bump) && ($next_prerelease_beta_number != $(("$latest_prerelease_beta_number" + 1))) ]]; then + if (! "$prerelease_minor_version_bump") && [[ ("$next_prerelease_beta_number" != $(("$latest_prerelease_beta_number" + 1))) ]]; then echo "Error: pre-release version should go one by one as sequence" correct_version=$(echo "$latest_prerelease" | cut -d"." -f1,2,3) - correct_prerelease_number=$(($latest_prerelease_beta_number + 1)) + correct_prerelease_number=$(("$latest_prerelease_beta_number" + 1)) echo "After" $latest_prerelease "should go "$correct_version".Beta"$correct_prerelease_number exit 1; fi + + project_current_base=$(echo "$next_prerelease" | grep -oP '^.*Beta') + project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') + project_next_base=$(echo "$project_next_version" | grep -oP '^.*Beta') + + project_current_beta_number="$next_prerelease_beta_number" + project_next_beta_number=$(echo "$project_next_version" | grep -oP 'Beta\K[0-9]+') + + if [[ "$project_current_base" != "$project_next_base" ]] || [[ $(("$project_current_beta_number" + 1)) != "$project_next_beta_number" ]]; then + echo "The next-version in project.yaml is not valid. Next pre-release Beta version must be one upper that current" + exit 1; + fi else expected_release_version=$(echo "$GITHUB_BASE_REF" | sed 's/z/0/') @@ -79,12 +91,12 @@ jobs: next_release_patch_version=$(echo "$next_release" | cut -d"." -f3,3) beta_tag_exists=$(echo "$next_release" | cut -d"." -f4,4 || true) - if [ -n $beta_tag_exists ]; then + if [ -n "$beta_tag_exists" ]; then echo "Releases cannot consist any qualifier after version" exit 1; fi - if [[ $branch_minor_version != $next_release_minor_version ]]; then + if [[ "$branch_minor_version" != "$next_release_minor_version" ]]; then echo "Error: minor versions cannot be changed" exit 1; fi @@ -94,3 +106,14 @@ jobs: exit 1; fi fi + + project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') + project_next_base=$(echo "$project_next_version" | cut -d"." -f1,2) + + project_current_patch_version="$next_release_patch_version" + project_next_patch_version=$(echo "$project_next_version" | awk -F. '{print $3}') + + if [[ "$branch_version" != "$project_next_base" ]] || [[ $(("$project_current_patch_version" + 1)) != "$project_next_patch_version" ]]; then + echo "The next-version in project.yaml is not valid. Patch version of the next release must be one upper than the latest" + exit 1; + fi \ No newline at end of file From c9d6fe86b0b8d03f1760c92726e41305102b324d Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:40:59 +0200 Subject: [PATCH 4/9] test --- .github/project.yml | 4 ++-- .github/workflows/check-release-version.yml | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/project.yml b/.github/project.yml index e5d852fd3..d4bd90806 100644 --- a/.github/project.yml +++ b/.github/project.yml @@ -1,4 +1,4 @@ name: Quarkus QE Test Framework release: - current-version: 1.6.0.Beta1 - next-version: 1.6.0.Beta2 + current-version: 1.6.0.Beta2 + next-version: 1.6.0.Beta3 diff --git a/.github/workflows/check-release-version.yml b/.github/workflows/check-release-version.yml index d5e299995..8a054dfde 100644 --- a/.github/workflows/check-release-version.yml +++ b/.github/workflows/check-release-version.yml @@ -54,6 +54,10 @@ jobs: exit 1; fi + echo "===================================" + cat .github/project.yml + echo "===================================" + project_current_base=$(echo "$next_prerelease" | grep -oP '^.*Beta') project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') project_next_base=$(echo "$project_next_version" | grep -oP '^.*Beta') From b217030a4b1d6bf8fdd6995b7a78137f0edf917c Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:44:24 +0200 Subject: [PATCH 5/9] test --- .github/workflows/check-release-version.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-release-version.yml b/.github/workflows/check-release-version.yml index 8a054dfde..074277266 100644 --- a/.github/workflows/check-release-version.yml +++ b/.github/workflows/check-release-version.yml @@ -59,11 +59,17 @@ jobs: echo "===================================" project_current_base=$(echo "$next_prerelease" | grep -oP '^.*Beta') + echo "$project_current_base" project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') + echo "$project_next_version" project_next_base=$(echo "$project_next_version" | grep -oP '^.*Beta') - + echo "$project_next_base" + project_current_beta_number="$next_prerelease_beta_number" + echo "$project_current_beta_number" project_next_beta_number=$(echo "$project_next_version" | grep -oP 'Beta\K[0-9]+') + echo "$project_next_beta_number" + if [[ "$project_current_base" != "$project_next_base" ]] || [[ $(("$project_current_beta_number" + 1)) != "$project_next_beta_number" ]]; then echo "The next-version in project.yaml is not valid. Next pre-release Beta version must be one upper that current" From c65e1a2cfdc73847705fda3bc05cdb0f832d7577 Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:48:04 +0200 Subject: [PATCH 6/9] test --- .github/workflows/check-release-version.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/check-release-version.yml b/.github/workflows/check-release-version.yml index 074277266..0932b4398 100644 --- a/.github/workflows/check-release-version.yml +++ b/.github/workflows/check-release-version.yml @@ -115,15 +115,15 @@ jobs: echo "Error: release patch versions should be bumped one by one as sequence" exit 1; fi - fi - project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') - project_next_base=$(echo "$project_next_version" | cut -d"." -f1,2) - - project_current_patch_version="$next_release_patch_version" - project_next_patch_version=$(echo "$project_next_version" | awk -F. '{print $3}') - - if [[ "$branch_version" != "$project_next_base" ]] || [[ $(("$project_current_patch_version" + 1)) != "$project_next_patch_version" ]]; then - echo "The next-version in project.yaml is not valid. Patch version of the next release must be one upper than the latest" - exit 1; + project_next_version=$(grep -E 'next-version:\s*' .github/project.yml | awk '{print $2}') + project_next_base=$(echo "$project_next_version" | cut -d"." -f1,2) + + project_current_patch_version="$next_release_patch_version" + project_next_patch_version=$(echo "$project_next_version" | awk -F. '{print $3}') + + if [[ "$branch_version" != "$project_next_base" ]] || [[ $(("$project_current_patch_version" + 1)) != "$project_next_patch_version" ]]; then + echo "The next-version in project.yaml is not valid. Patch version of the next release must be one upper than the latest" + exit 1; + fi fi \ No newline at end of file From 14ed60eaaeb528cec28856b50965314cc9893020 Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:48:47 +0200 Subject: [PATCH 7/9] test --- .github/project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/project.yml b/.github/project.yml index d4bd90806..0302f2115 100644 --- a/.github/project.yml +++ b/.github/project.yml @@ -1,4 +1,4 @@ name: Quarkus QE Test Framework release: current-version: 1.6.0.Beta2 - next-version: 1.6.0.Beta3 + next-version: 1.6.0.Beta4 From e48458799939fa1dfea9669b4c281776853e25a5 Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:50:07 +0200 Subject: [PATCH 8/9] test --- .github/project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/project.yml b/.github/project.yml index 0302f2115..9b6c9fae9 100644 --- a/.github/project.yml +++ b/.github/project.yml @@ -1,4 +1,4 @@ name: Quarkus QE Test Framework release: - current-version: 1.6.0.Beta2 + current-version: 1.6.0.Beta3 next-version: 1.6.0.Beta4 From 76e202d2a33f83d61ff51b08688999f6a10819ef Mon Sep 17 00:00:00 2001 From: Georgii Troitskii Date: Thu, 18 Jul 2024 18:50:46 +0200 Subject: [PATCH 9/9] test --- .github/project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/project.yml b/.github/project.yml index 9b6c9fae9..3bd031f59 100644 --- a/.github/project.yml +++ b/.github/project.yml @@ -1,4 +1,4 @@ name: Quarkus QE Test Framework release: - current-version: 1.6.0.Beta3 + current-version: 1.6.1.Beta2 next-version: 1.6.0.Beta4