Skip to content

Commit 599ca50

Browse files
committed
fix: trim and validate platformTag, remove misleading platform from example
- Trim platformTag input and reject values containing whitespace or commas with a clear error message. - Remove platform from the native matrix example since it is ignored when platformTag is set.
1 parent f8180a7 commit 599ca50

5 files changed

Lines changed: 26 additions & 7 deletions

File tree

azdo-task/DevcontainersCi/src/main.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,16 @@ export async function runMain(): Promise<void> {
2626
task.setTaskVariable('hasRunMain', 'true');
2727

2828
const mergeTag = task.getInput('mergeTag');
29-
const platformTag = task.getInput('platformTag');
29+
const rawPlatformTag = task.getInput('platformTag');
30+
const platformTag = rawPlatformTag?.trim() || undefined;
31+
32+
if (platformTag && /[\s,]/.test(platformTag)) {
33+
task.setResult(
34+
task.TaskResult.Failed,
35+
`Invalid platformTag '${platformTag}' - must not contain whitespace or commas. Use mergeTag to specify multiple platforms.`,
36+
);
37+
return;
38+
}
3039

3140
if (mergeTag && platformTag) {
3241
task.setResult(

docs/multi-platform-builds.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,8 @@ jobs:
9292
matrix:
9393
include:
9494
- runner: ubuntu-latest
95-
platform: linux/amd64
9695
platformTag: linux-amd64
9796
- runner: ubuntu-24.04-arm
98-
platform: linux/arm64
9997
platformTag: linux-arm64
10098
runs-on: ${{ matrix.runner }}
10199
steps:
@@ -109,7 +107,6 @@ jobs:
109107
- uses: devcontainers/[email protected]
110108
with:
111109
imageName: ghcr.io/example/myimage
112-
platform: ${{ matrix.platform }}
113110
platformTag: ${{ matrix.platformTag }}
114111
push: always
115112

github-action/dist/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2166,7 +2166,11 @@ function runMain() {
21662166
core.info('Starting...');
21672167
core.saveState('hasRunMain', 'true');
21682168
const mergeTag = emptyStringAsUndefined(core.getInput('mergeTag'));
2169-
const platformTag = emptyStringAsUndefined(core.getInput('platformTag'));
2169+
const platformTag = emptyStringAsUndefined(core.getInput('platformTag').trim());
2170+
if (platformTag && /[\s,]/.test(platformTag)) {
2171+
core.setFailed(`Invalid platformTag '${platformTag}' - must not contain whitespace or commas. Use mergeTag to specify multiple platforms.`);
2172+
return;
2173+
}
21702174
if (mergeTag && platformTag) {
21712175
core.setFailed('mergeTag and platformTag cannot be used together - mergeTag is for the manifest merge job, platformTag is for per-platform build jobs');
21722176
return;

github-action/dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

github-action/src/main.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,16 @@ export async function runMain(): Promise<void> {
3636
core.saveState('hasRunMain', 'true');
3737

3838
const mergeTag = emptyStringAsUndefined(core.getInput('mergeTag'));
39-
const platformTag = emptyStringAsUndefined(core.getInput('platformTag'));
39+
const platformTag = emptyStringAsUndefined(
40+
core.getInput('platformTag').trim(),
41+
);
42+
43+
if (platformTag && /[\s,]/.test(platformTag)) {
44+
core.setFailed(
45+
`Invalid platformTag '${platformTag}' - must not contain whitespace or commas. Use mergeTag to specify multiple platforms.`,
46+
);
47+
return;
48+
}
4049

4150
if (mergeTag && platformTag) {
4251
core.setFailed(

0 commit comments

Comments
 (0)