Skip to content

chore(e2e): Fix worker version e2e-docker-base-with-worker-version to account for 1.0 release#6588

Merged
dillanb-hashi merged 5 commits into
mainfrom
dbutler_previous_version
Apr 20, 2026
Merged

chore(e2e): Fix worker version e2e-docker-base-with-worker-version to account for 1.0 release#6588
dillanb-hashi merged 5 commits into
mainfrom
dbutler_previous_version

Conversation

@dillanb-hashi
Copy link
Copy Markdown
Collaborator

Description

Change the logic for getting the version to taking current version - 1 to taking a list of versions and then finding the version before.
examples
0.21.3->0.20.2
1.0.0->0.21.3 (or whatever the last non 1.x.x version is)

PCI review checklist

  • I have documented a clear reason for, and description of, the change I am making.
  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.
  • If applicable, I've documented the impact of any changes to security controls.
    Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.

@dillanb-hashi dillanb-hashi requested a review from a team as a code owner April 13, 2026 22:20
@dillanb-hashi dillanb-hashi requested review from a team and Copilot April 13, 2026 22:20
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the enos CI workflow to correctly select a “previous release line” Boundary worker Docker image tag for the e2e_docker_base_with_worker_version scenario, including handling the 1.0.0 release boundary.

Changes:

  • Fetch full git history in the enos job checkout to allow tag-based version resolution.
  • Replace “decrement minor version” logic with tag scanning to find the prior release line version.
  • Export the computed prior version as ENOS_VAR_worker_version for the scenario.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/enos-run.yml Outdated
exit 1
fi

IFS='.' read -r current_major current_minor current_patch <<< "$current_version"
Comment thread .github/workflows/enos-run.yml Outdated
Comment thread .github/workflows/enos-run.yml Outdated
Comment thread .github/workflows/enos-run.yml Outdated
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%%[-+]*}"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this this handles boundary versions coming from boundary-enterprise (i.e. 0.21.2+ent), but I don't think we're handling this with tags?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current_version_raw outputs 0.21.0+ent line 275 takes out the +ent. Line 274 probably isn't needed though.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. That's the output of boundary version. But when you're looking up the tags later on, boundary-enterprise has tags with v#.#.#+ent

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yes. I'll test this in the ent branch as well to make sure I can get the right version. We handle adding the +ent in the enos scenario I'm pretty sure so it should strip the +ent from the git tags when it's parsing through that.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I might be confusing myself.

  • For this workflow, this probably works ok.
  • We will need to update enos-run-ent.yml accordingly. We should specifically match against +ent tags there as there may be some versions only available in enterprise.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Enos e2e workflow to compute a “previous worker version” based on git release tags, so e2e_docker_base_with_worker_version continues to work across the 1.0.0 release line transition.

Changes:

  • Adjust checkout behavior in workflow jobs (setup job becomes shallow; enos job explicitly fetches full history).
  • Replace “minor - 1” worker version derivation with logic that selects the latest tag from the previous release line (previous minor, else previous major).
  • Add parsing/validation around the Boundary version string before selecting the previous version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/enos-run.yml Outdated
Comment thread .github/workflows/enos-run.yml Outdated
Comment thread .github/workflows/enos-run.yml Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the enos-run GitHub Actions workflow to compute the worker Docker image version for the e2e_docker_base_with_worker_version scenario by selecting the previous release line from git tags (handling the 1.0.0 -> 0.x.y transition), rather than decrementing a minor version number.

Changes:

  • Adjusts actions/checkout settings to (conditionally) fetch full history and tags for the worker-version scenario.
  • Replaces the worker-version derivation logic with tag-based semver parsing and selection of the prior release line.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/enos-run.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
@dillanb-hashi dillanb-hashi added pr/no-milestone Ignores the Milestone Check labels Apr 14, 2026
Copy link
Copy Markdown
Collaborator

@moduli moduli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder: There will need to be a follow-up to update this in enos-run-ent.yml. It will also need to account for using the -ent version of the tags.

@dillanb-hashi dillanb-hashi merged commit b2458f6 into main Apr 20, 2026
63 of 65 checks passed
@dillanb-hashi dillanb-hashi deleted the dbutler_previous_version branch April 20, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/no-milestone Ignores the Milestone Check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants