mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 20:30:47 +02:00
fix: keep release smoke fixture inside project
Create the browser smoke page under GITHUB_WORKSPACE so the runtime's local-file trust boundary permits it on every runner, and advance the immutable bootstrap channel to RC3.
This commit is contained in:
@@ -112,7 +112,7 @@ jobs:
|
|||||||
"$GSTACK_HOME/bin/browse" stop >/dev/null 2>&1 || true
|
"$GSTACK_HOME/bin/browse" stop >/dev/null 2>&1 || true
|
||||||
}
|
}
|
||||||
trap browser_cleanup EXIT
|
trap browser_cleanup EXIT
|
||||||
smoke_url=$(node -e 'const fs=require("fs"),p=require("path").join(process.env.RUNNER_TEMP,"gstack-runtime-smoke.html");fs.writeFileSync(p,"<!doctype html><title>GStack runtime smoke</title>\n");process.stdout.write(require("url").pathToFileURL(p).href)')
|
smoke_url=$(node -e 'const fs=require("fs"),p=require("path").join(process.env.GITHUB_WORKSPACE,".gstack-runtime-smoke.html");fs.writeFileSync(p,"<!doctype html><title>GStack runtime smoke</title>\n");process.stdout.write(require("url").pathToFileURL(p).href)')
|
||||||
PATH="$clean_path" GSTACK_NODE="$node_command" BROWSE_PARENT_PID=0 \
|
PATH="$clean_path" GSTACK_NODE="$node_command" BROWSE_PARENT_PID=0 \
|
||||||
"$GSTACK_HOME/bin/browse" goto "$smoke_url"
|
"$GSTACK_HOME/bin/browse" goto "$smoke_url"
|
||||||
PATH="$clean_path" GSTACK_NODE="$node_command" BROWSE_PARENT_PID=0 \
|
PATH="$clean_path" GSTACK_NODE="$node_command" BROWSE_PARENT_PID=0 \
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const BOOTSTRAP_RUNTIME_VERSION = "2.0.0";
|
|||||||
// Keep the runtime compatibility version separate from the immutable release
|
// Keep the runtime compatibility version separate from the immutable release
|
||||||
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
// channel. Release candidates carry the 2.0.0 runtime contract while letting
|
||||||
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
// fresh-machine production journeys run before the stable v2.0.0 tag exists.
|
||||||
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.2";
|
export const BOOTSTRAP_RELEASE_TAG = "v2.0.0-rc.3";
|
||||||
export const OFFICIAL_MANIFEST_URL =
|
export const OFFICIAL_MANIFEST_URL =
|
||||||
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
`https://github.com/time-attack/gstack/releases/download/${BOOTSTRAP_RELEASE_TAG}/gstack-runtime-manifest.json`;
|
||||||
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
const CAPABILITIES = new Set(["browser", "browser-visible", "design", "pdf", "diagram", "ios"]);
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ describe("GStack runtime release channel", () => {
|
|||||||
expect(workflow).toContain("--prerelease");
|
expect(workflow).toContain("--prerelease");
|
||||||
expect(workflow).toContain('gh release create "$GITHUB_REF_NAME"');
|
expect(workflow).toContain('gh release create "$GITHUB_REF_NAME"');
|
||||||
expect(workflow).toContain("pathToFileURL(p).href");
|
expect(workflow).toContain("pathToFileURL(p).href");
|
||||||
|
expect(workflow).toContain('path").join(process.env.GITHUB_WORKSPACE,".gstack-runtime-smoke.html")');
|
||||||
expect(workflow).not.toContain("goto about:blank");
|
expect(workflow).not.toContain("goto about:blank");
|
||||||
expect(buildSection).not.toContain("sigstore/cosign-installer");
|
expect(buildSection).not.toContain("sigstore/cosign-installer");
|
||||||
expect(manifestSection).toContain("sigstore/cosign-installer");
|
expect(manifestSection).toContain("sigstore/cosign-installer");
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ describe("release and CI hardening", () => {
|
|||||||
expect(workflow).toContain("command -v bun");
|
expect(workflow).toContain("command -v bun");
|
||||||
expect(workflow).toContain("GSTACK_NODE=\"$node_command\"");
|
expect(workflow).toContain("GSTACK_NODE=\"$node_command\"");
|
||||||
expect(workflow).toContain("pathToFileURL(p).href");
|
expect(workflow).toContain("pathToFileURL(p).href");
|
||||||
|
expect(workflow).toContain('path").join(process.env.GITHUB_WORKSPACE,".gstack-runtime-smoke.html")');
|
||||||
expect(workflow).not.toContain("goto about:blank");
|
expect(workflow).not.toContain("goto about:blank");
|
||||||
const manifest = read(".github/scripts/create-runtime-release-manifest.mjs");
|
const manifest = read(".github/scripts/create-runtime-release-manifest.mjs");
|
||||||
expect(manifest).toContain("bytes: stat.size");
|
expect(manifest).toContain("bytes: stat.size");
|
||||||
|
|||||||
Reference in New Issue
Block a user