fix: separate version injection commands to unblock release#22
Merged
Merged
Conversation
Signed-off-by: Jericho Tolentino <68654047+jericht@users.noreply.github.com>
epmog
approved these changes
Jul 9, 2026
crowecawcaw
approved these changes
Jul 9, 2026
seant-aws
approved these changes
Jul 9, 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 was the problem/requirement? (What/Why)
The security hardening in #21 moved
${{ inputs.version-script }}fromrun:into an env var to prevent script injection (zizmor). However, the default value contains&&which is not re-parsed as a shell operator when expanded from a variable — bash treats it as a literal argument. This broke the InjectVersion step for all consumers on all platforms.Example openjd-model release: https://github.com/OpenJobDescription/openjd-model-for-python/actions/runs/28989508762
What was the solution? (How)
Split the single
version-scriptinput into two:version-script-deps(pip packages to install) andversion-script(simple command to run). Each gets its own step. No compound shell operators needed in variables.What is the impact of this change?
Fixes the release workflow for all repos using this reusable workflow. Callers relying on the defaults (like openjd-model-for-python) need no changes. Callers that override
version-scriptwith a compound command will need to split their input across the two new inputs.How was this change tested?
Reproduced locally:
Confirmed the split approach works:
Was this change documented?
Input descriptions updated in the workflow file.
Is this a breaking change?
Yes for callers that override
version-scriptwith a compound command — they must split across the two new inputs. Callers usingdefaults are unaffected.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your
choice.