fix: Use single quotes for build_args to prevent shell variable expansion#86
Merged
GordonBeeming merged 1 commit intomainfrom Mar 25, 2026
Merged
Conversation
…sion The matrix build_args values contain $PLACEHOLDER tokens (e.g. $COPILOT_VERSION) that are meant to be replaced by bash string substitution in the "Prepare build args" step. However, using double quotes on the ARGS assignment caused bash to expand these as shell variables (which are unset, so they become empty strings) before the substitution step could replace them. This resulted in all Docker build args being empty, with images falling back to Dockerfile ARG defaults. Switching to single quotes preserves the $ placeholders so the substitution step works correctly. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: GitButler <gitbutler@gitbutler.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes the build-images job in the publish workflow so $PLACEHOLDER tokens in matrix.build_args aren’t expanded by bash before the workflow’s string-substitution logic runs, ensuring Docker builds receive the resolved dependency versions as intended.
Changes:
- Switch
ARGS="${{ matrix.build_args }}"toARGS='${{ matrix.build_args }}'to preserve$...placeholders for subsequent substitution. - Restores correct non-empty Docker
build-argsvalues (notably preventing emptydotnet tool install --version ""cases).
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.
Summary
build_argsvalues use$PLACEHOLDERtokens (e.g.$COPILOT_VERSION) intended for bash string substitution in the "Prepare build args" stepARGS="${{ matrix.build_args }}"caused bash to expand these as shell variables (unset = empty) before the substitution could replace themcsharp-lsinstall broke becausedotnet tool install --version ""is an error (unlike npm/go which tolerate empty versions)ARGS='${{ matrix.build_args }}'to preserve the$placeholders for the substitution stepTest plan
prepare-versionsresolves all versions correctly--build-argvaluesGenerated with Claude Code and GitButler