mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
* Upload beta e2e spec reports to R2 * Expose beta report URLs in summary * Complete Indonesian deploy locale keys * chore: factor release workflow scripts * chore: bump packaged beta base version * test: wait for mac packaged runtime health * fix: capture mac packaged startup logs * chore: improve mac release build observability * fix: ad-hoc sign unsigned mac builds * chore: diagnose mac packaged startup * fix: relax unsigned mac launch signing * chore: improve mac launch diagnostics * chore: simplify beta mac release artifacts * fix: align packaged mac smoke launch config * fix: externalize mac daemon wasm dependency * chore: require signed stable mac releases * fix: use stable app version for nightly package builds * chore: clean release artifacts after publish * chore: publish beta reports as zip * ci: disable beta mac tools-pack cache * fix: skip mac framework binary symlinks when signing * fix: sign mac framework version bundles * ci: disable beta mac pnpm cache * chore: align stable release reports * ci: require matching nightly before stable release * ci: avoid mac pnpm cache for packaged smoke
37 lines
1.3 KiB
Bash
37 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
summary_title="${SUMMARY_TITLE:-tools-pack build}"
|
|
build_json_path="${BUILD_JSON_PATH:-$RUNNER_TEMP/tools-pack-build.json}"
|
|
if [ ! -f "$build_json_path" ]; then
|
|
{
|
|
echo "### $summary_title"
|
|
echo
|
|
echo "Build JSON was not found at \`$build_json_path\`."
|
|
} >> "$GITHUB_STEP_SUMMARY"
|
|
exit 0
|
|
fi
|
|
|
|
BUILD_JSON_PATH="$build_json_path" SUMMARY_TITLE="$summary_title" node --input-type=module <<'NODE' >> "$GITHUB_STEP_SUMMARY"
|
|
import { readFileSync } from "node:fs";
|
|
|
|
const build = JSON.parse(readFileSync(process.env.BUILD_JSON_PATH, "utf8"));
|
|
const cell = (value) => String(value ?? "").replace(/\|/g, "\\|").replace(/[\r\n]+/g, " ");
|
|
const code = (value) => `\`${cell(value).replace(/`/g, "'")}\``;
|
|
const seconds = (value) => `${(Number(value) / 1000).toFixed(1)}s`;
|
|
|
|
console.log(`### ${process.env.SUMMARY_TITLE}`);
|
|
console.log("");
|
|
console.log("| Phase | Duration |");
|
|
console.log("| --- | ---: |");
|
|
for (const timing of build.timings ?? []) {
|
|
console.log(`| ${code(timing.phase)} | ${seconds(timing.durationMs)} |`);
|
|
}
|
|
console.log("");
|
|
console.log("| Cache node | Status | Reason | Duration |");
|
|
console.log("| --- | --- | --- | ---: |");
|
|
for (const entry of build.cacheReport?.entries ?? []) {
|
|
console.log(`| ${code(entry.nodeId)} | ${code(entry.status)} | ${cell(entry.reason)} | ${seconds(entry.durationMs)} |`);
|
|
}
|
|
NODE
|