Skip to content

Fix PMM-T2227 tarball upgrade check by trimming version lookup - #1147

Merged
travagliad merged 1 commit into
mainfrom
claude/affectionate-archimedes-sx5rh5
Aug 8, 2026
Merged

Fix PMM-T2227 tarball upgrade check by trimming version lookup#1147
travagliad merged 1 commit into
mainfrom
claude/affectionate-archimedes-sx5rh5

Conversation

@travagliad

@travagliad travagliad commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Failures fixed (investigator)

What failed

The nightly integration-cli-tests.yml run reports green, but the test step contains a real failure that Launchable hides — the test is quarantined, so launchable gate prints PASSED | Quarantined (Ignored) 1 | Actionable Failures 0, and the test step itself runs with || true. The same 1-failed/1-quarantined pattern is in the previous nightly run (31059341390) too, so this is a persistent failure, not a flake.

1) tests/generic.spec.ts:571:7 › PMM-T2227 - Verify tarball upgrade @generic › Verify command output contains 3.9.0
   Error: Stdout does not contain 3.9.0
   Expected substring: "3.9.0\n"
   Received string:    "Version: 3.9.0-v3-83cf42bbe\nPMMVersion: 3.9.0-v3-83cf42bbe\n"
   at cli/tests/generic.spec.ts:587

Why

latestReleasedVersion came from the docker-hub tag lookup without .trim(), so it carried the trailing newline and outContains searched for "3.9.0\n" rather than "3.9.0". That only ever matched while the released tarball reported a bare version number at end of line. The tarball the install script pulls for a released version (downloads.percona.com/downloads/TESTING/pmm/pmm-client-3.9.0.tar.gz) now reports 3.9.0-v3-83cf42bbe, so the version number is no longer at end of line and the assertion fails every run.

The client version itself is correct — 3.9.0-v3-<sha> is ordinary build metadata for a non-final build — so this is a test bug, not a PMM defect. The latestVersion lookup a few lines below already used .trim(); this brings the released-version lookup in line with it. Trimming also removes the stray newline that was being interpolated into the install_tarball -v <version> command.

Reproduced and verified

Throwaway Linode VM, PMM Server perconalab/pmm-server:3-dev-latest, client latest-tarball, host client + --database pdpgsql=16 (what the test's beforeAll requires), following runner-integration-cli-tests.yml:

  • at main — failed with exactly the CI error above, same expected/received strings
  • with this fix, same VM — ✓ 1 tests/generic.spec.ts:571:7 › PMM-T2227 - Verify tarball upgrade @generic (23.4s) / 1 passed; the upgrade path ran through: installed 3.9.0-v3-83cf42bbe, upgraded to 3.9.1-v3-c24fc62f0, agent reconnected with a new PID

🤖 Generated with Claude Code

https://claude.ai/code/session_01EpWmLrQsBTxn4GqBYspq1n

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The changes normalize the released client version used by the tarball upgrade test and constrain the Linode runner label prefix before adding its random suffix.

Changes

Client version handling

Layer / File(s) Summary
Normalize released client version
cli/tests/generic.spec.ts
The tarball upgrade test trims whitespace from the latest released client version before installation and assertions.

Linode runner labels

Layer / File(s) Summary
Bound runner label prefix
terraform/linode-runner/main.tf
The runner label truncates the pmmqa role/run ID prefix to 44 characters before appending the random suffix.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly identifies the primary fix for the tarball upgrade test failure.
Description check ✅ Passed The description accurately explains the tarball test failure, its cause, the fix, and the related Linode label change.

Comment @coderabbitai help to get the list of available commands.

The docker-hub tag lookup kept its trailing newline, so the assertion on
the installed client asked for "3.9.0\n" instead of "3.9.0". That only
ever matched while the released tarball reported a bare version: the
tarball now served for 3.9.0 reports 3.9.0-v3-83cf42bbe, so the version
number is no longer at end of line and the check fails every night --
masked in CI because the test is quarantined in Launchable and the test
step is run with '|| true'.

Trim it, matching the latestVersion lookup a few lines below, so the
assertion checks that the output contains the version number and the
value interpolated into the install command carries no stray newline.

Signed-off-by: Claude <noreply@anthropic.com>
@travagliad
travagliad force-pushed the claude/affectionate-archimedes-sx5rh5 branch from da96189 to dfa6055 Compare August 7, 2026 19:48
@travagliad
travagliad merged commit 5aaba99 into main Aug 8, 2026
31 of 33 checks passed
@travagliad
travagliad deleted the claude/affectionate-archimedes-sx5rh5 branch August 8, 2026 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants