Skip to content

[Repo Assist] fix: normalize TagBuild type input to be case-insensitive#242

Draft
github-actions[bot] wants to merge 1 commit intomainfrom
repo-assist/fix-issue-223-tagbuild-type-case-insensitive-d732bd6344ab0065
Draft

[Repo Assist] fix: normalize TagBuild type input to be case-insensitive#242
github-actions[bot] wants to merge 1 commit intomainfrom
repo-assist/fix-issue-223-tagbuild-type-case-insensitive-d732bd6344ab0065

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

🤖 This PR was created by Repo Assist, an automated AI assistant.

Summary

Fixes the case-sensitivity bug in the TagBuild task reported in #223. When a user specifies type: 'build' (lowercase) in their YAML pipeline, the task incorrectly fell through to the Release code path and failed with:

Setting tags on release [-1]
##[error]Cannot read property 'join' of null

Root Cause

The type input was compared with strict equality against "Build" and "Release" (title case). When passed as lowercase (e.g. build, release), neither condition matched, so the task defaulted to the release path with a release ID of -1.

Fix

Normalize the type input to title case before comparison:

let typeRaw = tl.getInput("type", true);
let type = typeRaw ? typeRaw.charAt(0).toUpperCase() + typeRaw.slice(1).toLowerCase() : typeRaw;

This means build, BUILD, Build are all treated equivalently — matching user expectations for YAML pipelines where lowercase is common.

Trade-offs

  • Minimal change, no behavioral impact for users already using title-case values
  • The task.json uses a pickList with "Build" / "Release" values, so the UI will always pass the correct case — this fix only helps YAML pipeline users

Test Status

⚠️ Infrastructure issue: Test dependencies (vitest, cross-env) are not installed in the CI environment, preventing test execution. Build TypeScript compilation errors are pre-existing and unrelated to this change. The compiled tagBuild.js output was verified to contain the correct normalization logic.

Closes #223

Generated by Repo Assist

Users can pass 'build' (lowercase) in YAML task inputs, but the
type comparison was strict ('Build'/'Release'). This caused the
task to fall through to the Release path and fail with
'Setting tags on release [-1]'.

Closes #223

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setting tags on release [-1] ##[error]Cannot read property 'join' of null

0 participants