Skip to content

Commit 3735a2a

Browse files
authored
Separate preview uploads for iOS and Android screenshot comments (#4125)
* Separate CN1 screenshot previews per platform * Fix non-final rawBase in preview URL lambda * Updated screenshots
1 parent 4175557 commit 3735a2a

File tree

8 files changed

+27
-5
lines changed

8 files changed

+27
-5
lines changed
-101 Bytes
Loading
-27 Bytes
Loading

scripts/android/tests/PostPrComment.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ private static int execute(String[] args) throws Exception {
9393
Map<String, String> attachmentUrls = new HashMap<>();
9494
if (body.contains("(attachment:")) {
9595
try {
96-
attachmentUrls = publishPreviewsToBranch(previewDir, repo, prNumber, token, !isForkPr);
96+
attachmentUrls = publishPreviewsToBranch(previewDir, repo, prNumber, token, !isForkPr, arguments.previewSubdir);
9797
for (Map.Entry<String, String> entry : attachmentUrls.entrySet()) {
9898
log("Preview available for " + entry.getKey() + ": " + entry.getValue());
9999
}
@@ -258,7 +258,7 @@ private static String nextLink(String header) {
258258
return null;
259259
}
260260

261-
private static Map<String, String> publishPreviewsToBranch(Path previewDir, String repo, int prNumber, String token, boolean allowPush) throws IOException, InterruptedException {
261+
private static Map<String, String> publishPreviewsToBranch(Path previewDir, String repo, int prNumber, String token, boolean allowPush, String previewSubdir) throws IOException, InterruptedException {
262262
if (previewDir == null || !Files.isDirectory(previewDir)) {
263263
return Map.of();
264264
}
@@ -302,6 +302,9 @@ private static Map<String, String> publishPreviewsToBranch(Path previewDir, Stri
302302
runGit(worktree, env, "checkout", "--orphan", "cn1ss-previews");
303303
}
304304
Path dest = worktree.resolve("pr-" + prNumber);
305+
if (previewSubdir != null && !previewSubdir.isBlank()) {
306+
dest = dest.resolve(previewSubdir);
307+
}
305308
deleteRecursively(dest);
306309
Files.createDirectories(dest);
307310
for (Path source : imageFiles) {
@@ -320,11 +323,15 @@ private static Map<String, String> publishPreviewsToBranch(Path previewDir, Stri
320323
log("Preview branch already up-to-date for PR #" + prNumber);
321324
}
322325
String rawBase = "https://raw.githubusercontent.com/" + repo + "/cn1ss-previews/pr-" + prNumber;
326+
if (previewSubdir != null && !previewSubdir.isBlank()) {
327+
rawBase += "/" + previewSubdir;
328+
}
329+
final String rawBaseUrl = rawBase;
323330
Map<String, String> urls = new LinkedHashMap<>();
324331
try (var stream = Files.list(dest)) {
325332
stream.filter(Files::isRegularFile)
326333
.sorted()
327-
.forEach(path -> urls.put(path.getFileName().toString(), rawBase + "/" + path.getFileName()));
334+
.forEach(path -> urls.put(path.getFileName().toString(), rawBaseUrl + "/" + path.getFileName()));
328335
}
329336
deleteRecursively(worktree);
330337
return urls;
@@ -444,19 +451,22 @@ private static class Arguments {
444451
final Path previewDir;
445452
final String marker;
446453
final String logPrefix;
454+
final String previewSubdir;
447455

448-
private Arguments(Path body, Path previewDir, String marker, String logPrefix) {
456+
private Arguments(Path body, Path previewDir, String marker, String logPrefix, String previewSubdir) {
449457
this.body = body;
450458
this.previewDir = previewDir;
451459
this.marker = marker;
452460
this.logPrefix = logPrefix;
461+
this.previewSubdir = previewSubdir;
453462
}
454463

455464
static Arguments parse(String[] args) {
456465
Path body = null;
457466
Path previewDir = null;
458467
String marker = null;
459468
String logPrefix = null;
469+
String previewSubdir = null;
460470
for (int i = 0; i < args.length; i++) {
461471
String arg = args[i];
462472
switch (arg) {
@@ -488,6 +498,13 @@ static Arguments parse(String[] args) {
488498
}
489499
logPrefix = args[i];
490500
}
501+
case "--preview-subdir" -> {
502+
if (++i >= args.length) {
503+
System.err.println("Missing value for --preview-subdir");
504+
return null;
505+
}
506+
previewSubdir = args[i];
507+
}
491508
default -> {
492509
System.err.println("Unknown argument: " + arg);
493510
return null;
@@ -498,7 +515,7 @@ static Arguments parse(String[] args) {
498515
System.err.println("--body is required");
499516
return null;
500517
}
501-
return new Arguments(body, previewDir, marker, logPrefix);
518+
return new Arguments(body, previewDir, marker, logPrefix, previewSubdir);
502519
}
503520
}
504521

5.46 KB
Loading
-23.2 KB
Loading

scripts/lib/cn1ss.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,9 @@ cn1ss_post_pr_comment() {
278278
if [ -n "${CN1SS_COMMENT_LOG_PREFIX:-}" ]; then
279279
extra_args+=(--log-prefix "${CN1SS_COMMENT_LOG_PREFIX}")
280280
fi
281+
if [ -n "${CN1SS_PREVIEW_SUBDIR:-}" ]; then
282+
extra_args+=(--preview-subdir "${CN1SS_PREVIEW_SUBDIR}")
283+
fi
281284
GITHUB_TOKEN="$comment_token" cn1ss_java_run "$CN1SS_POST_COMMENT_CLASS" \
282285
--body "$body_file" \
283286
--preview-dir "$preview_dir" \

scripts/run-android-instrumentation-tests.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ ra_log "STAGE:COMMENT_POST -> Submitting PR feedback"
303303
comment_rc=0
304304
export CN1SS_COMMENT_MARKER="<!-- CN1SS_ANDROID_COMMENT -->"
305305
export CN1SS_COMMENT_LOG_PREFIX="[run-android-device-tests]"
306+
export CN1SS_PREVIEW_SUBDIR="android"
306307
if ! cn1ss_post_pr_comment "$COMMENT_FILE" "$SCREENSHOT_PREVIEW_DIR"; then
307308
comment_rc=$?
308309
fi

scripts/run-ios-ui-tests.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,7 @@ ri_log "STAGE:COMMENT_POST -> Submitting PR feedback"
672672
comment_rc=0
673673
export CN1SS_COMMENT_MARKER="<!-- CN1SS_IOS_COMMENT -->"
674674
export CN1SS_COMMENT_LOG_PREFIX="[run-ios-device-tests]"
675+
export CN1SS_PREVIEW_SUBDIR="ios"
675676
if ! cn1ss_post_pr_comment "$COMMENT_FILE" "$SCREENSHOT_PREVIEW_DIR"; then
676677
comment_rc=$?
677678
fi

0 commit comments

Comments
 (0)