{{ message }}
fix: correct input reference and upload-logs condition in release workflow (3.x)#910
Merged
Merged
Conversation
…kflow (3.x) Two pre-existing bugs in .github/workflows/release.yml: 1. 'Checkout Code One Commit Before' step referenced `inputs.version_tag` in both the step name and RELEASE_TARGET_TAG env var. The actual input is named `target-tag`. Because the wrong expression always evaluates to empty string, the step name appeared as 'Checkout Code One Commit Before ' (trailing space) in CI, and RELEASE_TARGET_TAG was always empty — meaning any re-release triggered with a specific tag would silently check out the wrong commit. Confirmed in run scylladb#129 (https://github.com/scylladb/java-driver/actions/runs/25297315236): step 3 is logged as 'Checkout Code One Commit Before ' with no tag value. 2. 'Upload release logs' had `if: failure()` so the artifact was skipped on successful runs. Run scylladb#129 shows step 9 'Upload release logs' as skipped despite the release completing successfully. Release logs are useful as an audit trail regardless of outcome (scylla-4.x already uploads unconditionally). Remove the condition to align both branches.
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/release.yml (1)
83-88:⚠️ Potential issue | 🟠 Major | ⚡ Quick winUse
always()for truly unconditional log upload.Right now this step runs only on success (default condition). If a release step fails, logs still won’t upload. To satisfy the “regardless of outcome” behavior, set
if: ${{ always() }}on Line 83.Suggested patch
- name: Upload release logs + if: ${{ always() }} uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: maven-stdout path: /tmp/java-driver-release-logs/*.log🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/release.yml around lines 83 - 88, The "Upload release logs" workflow step currently only runs on default success; update that step (the step with name "Upload release logs" using actions/upload-artifact) to run unconditionally by adding the condition if: ${{ always() }} at the step level so logs are uploaded regardless of previous job outcome.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/release.yml:
- Around line 83-88: The "Upload release logs" workflow step currently only runs
on default success; update that step (the step with name "Upload release logs"
using actions/upload-artifact) to run unconditionally by adding the condition
if: ${{ always() }} at the step level so logs are uploaded regardless of
previous job outcome.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: d4b52f28-43eb-4a87-bf16-782f6b63eb48
📒 Files selected for processing (1)
.github/workflows/release.yml
dkropachev
approved these changes
May 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
Two pre-existing bugs in
.github/workflows/release.ymlonscylla-3.x, both confirmed by release run.Bug 1 — wrong input reference in re-release step
The
Checkout Code One Commit Beforestep referencedinputs.version_tagin both the step name andRELEASE_TARGET_TAGenv var. The actual workflow input is namedtarget-tag. Sinceinputs.version_tagis undefined, the expression always evaluates to empty string.Evidence from run: step 3 appears in CI logs as:
and its conclusion is
skipped(correct for a normal release wheretarget-tag == 'scylla-3.x'), but if someone triggers a re-release with a specific tag (e.g.3.11.5.15),RELEASE_TARGET_TAGwould be empty andmake checkout-one-commit-beforewould silently operate on the wrong commit.Fix: replace both occurrences of
inputs.version_tagwithinputs.target-tag.Bug 2 — release logs not uploaded on success
Upload release logshadif: failure(), so the artifact was skipped whenever the release completed successfully.Evidence from run: step 9
Upload release logsisskippeddespite the run succeeding. Release logs are an audit trail for every release — not just failed ones.scylla-4.xalready uploads unconditionally.Fix: remove the
if: failure()condition to align both branches.Changes
Notes
target-tag == 'scylla-3.x'); the re-release step is skipped in that case either way.