From 0902cd67bd3a4aee98e25bfdc21cb064c4244824 Mon Sep 17 00:00:00 2001 From: dillanb-hashi Date: Mon, 13 Apr 2026 15:05:51 -0700 Subject: [PATCH 1/5] chore(e2e): Fix worker version e2e-docker-base-with-worker-version to account for 1.0 release --- .github/workflows/enos-run.yml | 37 ++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/.github/workflows/enos-run.yml b/.github/workflows/enos-run.yml index c046a631da..6896347a4a 100644 --- a/.github/workflows/enos-run.yml +++ b/.github/workflows/enos-run.yml @@ -100,6 +100,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 + with: + fetch-depth: '0' - name: Determine Go version id: get-go-version # We use .go-version as our source of truth for current Go @@ -265,12 +267,39 @@ jobs: enos scenario check --chdir ./enos ${{ matrix.filter }} && \ enos scenario exec --chdir ./enos ${{ matrix.filter }} --cmd "version" - name: Determine boundary version to test against previous worker version - # Get the Boundary version number and decrement the minor version by 1 + # Resolve the worker version from the previous release line. if: contains(matrix.filter, 'e2e_docker_base_with_worker_version') run: | - version_num=$(./enos/support/boundary/boundary version | awk -F'[. ]' '/Version Number/ {print $(NF-1)}') - export ENOS_VAR_worker_version="$((version_num - 1))" - echo "ENOS_VAR_worker_version=0.$ENOS_VAR_worker_version" >> "$GITHUB_ENV" + current_version_raw=$(./enos/support/boundary/boundary version | awk '/Version Number/ {print $3}') + current_version="${current_version_raw#v}" + current_version="${current_version%%[-+]*}" + + if ! [[ "$current_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Unable to parse Boundary version: $current_version_raw" >&2 + exit 1 + fi + + IFS='.' read -r current_major current_minor current_patch <<< "$current_version" + + all_semver_tags=$(git tag -l | sed 's/^v//' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$') + + previous_version="" + if [ "$current_minor" -gt 0 ]; then + target_minor=$((current_minor - 1)) + previous_version=$(echo "$all_semver_tags" | grep -E "^${current_major}\.${target_minor}\.[0-9]+$" | sort -V | tail -n1) + fi + + if [ -z "$previous_version" ] && [ "$current_major" -gt 0 ]; then + target_major=$((current_major - 1)) + previous_version=$(echo "$all_semver_tags" | grep -E "^${target_major}\.[0-9]+\.[0-9]+$" | sort -V | tail -n1) + fi + + if [ -z "$previous_version" ]; then + echo "No previous release line found for current version $current_version" >&2 + exit 1 + fi + + echo "ENOS_VAR_worker_version=$previous_version" >> "$GITHUB_ENV" - name: Run Enos scenario id: run # Continue once and retry From 2ed0815cd0094cc58e951aeb690c605737a48ef5 Mon Sep 17 00:00:00 2001 From: dillanb-hashi Date: Tue, 14 Apr 2026 11:19:13 -0700 Subject: [PATCH 2/5] cr --- .github/workflows/enos-run.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/enos-run.yml b/.github/workflows/enos-run.yml index 6896347a4a..3da998079e 100644 --- a/.github/workflows/enos-run.yml +++ b/.github/workflows/enos-run.yml @@ -25,7 +25,8 @@ jobs: steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: - fetch-depth: '0' + fetch-depth: '1' + fet-tags: true - name: Determine Go version id: get-go-version # We use .go-version as our source of truth for current Go @@ -271,7 +272,6 @@ jobs: if: contains(matrix.filter, 'e2e_docker_base_with_worker_version') run: | current_version_raw=$(./enos/support/boundary/boundary version | awk '/Version Number/ {print $3}') - current_version="${current_version_raw#v}" current_version="${current_version%%[-+]*}" if ! [[ "$current_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then @@ -281,17 +281,16 @@ jobs: IFS='.' read -r current_major current_minor current_patch <<< "$current_version" - all_semver_tags=$(git tag -l | sed 's/^v//' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$') + all_semver_tags=$(git tag -l | sed 's/^v//' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' || true) previous_version="" if [ "$current_minor" -gt 0 ]; then target_minor=$((current_minor - 1)) - previous_version=$(echo "$all_semver_tags" | grep -E "^${current_major}\.${target_minor}\.[0-9]+$" | sort -V | tail -n1) + previous_version=$(echo "$all_semver_tags" | grep -E "^${current_major}\.${target_minor}\.[0-9]+$" | sort -V | tail -n1 || true) fi - if [ -z "$previous_version" ] && [ "$current_major" -gt 0 ]; then target_major=$((current_major - 1)) - previous_version=$(echo "$all_semver_tags" | grep -E "^${target_major}\.[0-9]+\.[0-9]+$" | sort -V | tail -n1) + previous_version=$(echo "$all_semver_tags" | grep -E "^${target_major}\.[0-9]+\.[0-9]+$" | sort -V | tail -n1 || true) fi if [ -z "$previous_version" ]; then From f615c8c665823e5f21f7276617f48482f52f6c8e Mon Sep 17 00:00:00 2001 From: dillanb-hashi Date: Tue, 14 Apr 2026 11:25:24 -0700 Subject: [PATCH 3/5] cr --- .github/workflows/enos-run.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/enos-run.yml b/.github/workflows/enos-run.yml index 3da998079e..fc5aad6782 100644 --- a/.github/workflows/enos-run.yml +++ b/.github/workflows/enos-run.yml @@ -25,8 +25,7 @@ jobs: steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: - fetch-depth: '1' - fet-tags: true + fetch-depth: '0' - name: Determine Go version id: get-go-version # We use .go-version as our source of truth for current Go @@ -102,7 +101,8 @@ jobs: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: - fetch-depth: '0' + fetch-depth: ${{ matrix.scenario == 'e2e_docker_base_with_worker_version' && '0' || '1' }} + fetch-tags: ${{ matrix.scenario == 'e2e_docker_base_with_worker_version' && 'true' || 'false' }} - name: Determine Go version id: get-go-version # We use .go-version as our source of truth for current Go @@ -272,7 +272,7 @@ jobs: if: contains(matrix.filter, 'e2e_docker_base_with_worker_version') run: | current_version_raw=$(./enos/support/boundary/boundary version | awk '/Version Number/ {print $3}') - current_version="${current_version%%[-+]*}" + current_version="${current_version_raw%%[-+]*}" if ! [[ "$current_version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then echo "Unable to parse Boundary version: $current_version_raw" >&2 From 05909383a91323c11d31509e1e4c0c628293159f Mon Sep 17 00:00:00 2001 From: dillanb-hashi Date: Tue, 14 Apr 2026 12:35:18 -0700 Subject: [PATCH 4/5] cr Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .github/workflows/enos-run.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/enos-run.yml b/.github/workflows/enos-run.yml index fc5aad6782..69a79ed521 100644 --- a/.github/workflows/enos-run.yml +++ b/.github/workflows/enos-run.yml @@ -101,8 +101,8 @@ jobs: - name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: - fetch-depth: ${{ matrix.scenario == 'e2e_docker_base_with_worker_version' && '0' || '1' }} - fetch-tags: ${{ matrix.scenario == 'e2e_docker_base_with_worker_version' && 'true' || 'false' }} + fetch-depth: ${{ contains(matrix.filter, 'e2e_docker_base_with_worker_version') && '0' || '1' }} + fetch-tags: ${{ contains(matrix.filter, 'e2e_docker_base_with_worker_version') && 'true' || 'false' }} - name: Determine Go version id: get-go-version # We use .go-version as our source of truth for current Go From e6d07118ef4b8f67e2ee2d4a22a504395d908dd0 Mon Sep 17 00:00:00 2001 From: dillanb-hashi Date: Tue, 14 Apr 2026 13:33:45 -0700 Subject: [PATCH 5/5] cr --- .github/workflows/enos-run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/enos-run.yml b/.github/workflows/enos-run.yml index 69a79ed521..fa0e7cc2d6 100644 --- a/.github/workflows/enos-run.yml +++ b/.github/workflows/enos-run.yml @@ -279,7 +279,7 @@ jobs: exit 1 fi - IFS='.' read -r current_major current_minor current_patch <<< "$current_version" + IFS='.' read -r current_major current_minor _ <<< "$current_version" all_semver_tags=$(git tag -l | sed 's/^v//' | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' || true)