@restormel/testing-github-action 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/action.yml +18 -3
- package/dist/fork-policy.d.ts +24 -3
- package/dist/fork-policy.d.ts.map +1 -1
- package/dist/fork-policy.js +25 -2
- package/dist/fork-policy.js.map +1 -1
- package/dist/run-ci.d.ts +2 -0
- package/dist/run-ci.d.ts.map +1 -1
- package/dist/run-ci.js +31 -7
- package/dist/run-ci.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Composite GitHub Action that runs the **same inline runner** as the local CLI (`testing run`): load `restormel-testing.yaml`, execute browser goals, write **`report.json`**, **`summary.md`**, **`github-summary.md`**, **`junit.xml`**, plus `run.json` / `traces.json`, append a **GitHub step summary**, and **fail the step** when the suite verdict is not `passed`.
|
|
4
4
|
|
|
5
|
+
## Semver pins (GA)
|
|
6
|
+
|
|
7
|
+
Pin **`uses`** to an **immutable Git tag** on this repository, **not** only `@main`:
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
uses: YourOrg/restormel-keys/packages/testing-github-action@testing-action-v1.0.0
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Tags are created with workflow **[release-testing-action-version.yml](../../.github/workflows/release-testing-action-version.yml)** (`testing-action-vMAJOR.MINOR.PATCH`). Full policy: [docs/testing/github-action-semver.md](../../docs/testing/github-action-semver.md).
|
|
14
|
+
|
|
5
15
|
There is **no hosted control plane** in this MVP; `poll_interval_seconds` and `timeout_minutes` inputs are reserved for documentation alignment only.
|
|
6
16
|
|
|
7
17
|
## HTTP `/v1/runs` or curl pollers
|
|
@@ -21,12 +31,12 @@ Prerequisites in your workflow (before this action):
|
|
|
21
31
|
|
|
22
32
|
```yaml
|
|
23
33
|
env:
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
RESTORMEL_KEYS_BASE: ${{ secrets.RESTORMEL_KEYS_BASE }}
|
|
35
|
+
RESTORMEL_GATEWAY_KEY: ${{ secrets.RESTORMEL_GATEWAY_KEY }}
|
|
26
36
|
RESTORMEL_PROJECT_ID: ${{ secrets.RESTORMEL_PROJECT_ID }} # from Keys dashboard → Restormel Testing
|
|
27
37
|
```
|
|
28
38
|
|
|
29
|
-
Or set `RESTORMEL_TESTING_OPENAI_FALLBACK=1` and `OPENAI_API_KEY` only with explicit team approval (documented escape hatch). Full guide: [docs/keys-testing-onboarding.md](../../docs/keys-testing-onboarding.md).
|
|
39
|
+
Name repository secrets as you prefer; map them to these **runtime** names. Compatibility: `RESTORMEL_KEYS_API_BASE_URL` / `RESTORMEL_KEYS_API_TOKEN` (same values) still work. Or set `RESTORMEL_TESTING_OPENAI_FALLBACK=1` and `OPENAI_API_KEY` only with explicit team approval (documented escape hatch). Full guide: [docs/keys-testing-onboarding.md](../../docs/keys-testing-onboarding.md).
|
|
30
40
|
|
|
31
41
|
Then:
|
|
32
42
|
|
package/action.yml
CHANGED
|
@@ -54,9 +54,10 @@ inputs:
|
|
|
54
54
|
default: "."
|
|
55
55
|
fork_pr_policy:
|
|
56
56
|
description: >
|
|
57
|
-
skip (default) — do not run
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
skip (default) — do not run when is_fork_pr is true. run — execute on forks (public URLs only).
|
|
58
|
+
require_label — on fork PRs, run only when fork_pr_label_present is true (maintainer label).
|
|
59
|
+
sandbox_only — like require_label, but the action exits 78 when skipping so you can treat the
|
|
60
|
+
check as neutral instead of green (optional; see docs/testing/github-action-io-spec.md).
|
|
60
61
|
required: false
|
|
61
62
|
default: skip
|
|
62
63
|
is_fork_pr:
|
|
@@ -65,6 +66,19 @@ inputs:
|
|
|
65
66
|
Ignored outside pull_request workflows.
|
|
66
67
|
required: false
|
|
67
68
|
default: "false"
|
|
69
|
+
fork_pr_required_label:
|
|
70
|
+
description: >
|
|
71
|
+
Human-readable label name for docs / step summary only (e.g. ok-to-test). The workflow must
|
|
72
|
+
set fork_pr_label_present from github.event.pull_request.labels; this input is not interpreted by the runner.
|
|
73
|
+
required: false
|
|
74
|
+
default: ""
|
|
75
|
+
fork_pr_label_present:
|
|
76
|
+
description: >
|
|
77
|
+
Set to the string 'true' when the fork PR has the maintainer approval label (e.g.
|
|
78
|
+
contains(join(github.event.pull_request.labels.*.name, ','), 'ok-to-test')). Ignored when
|
|
79
|
+
fork_pr_policy is skip or run, or when is_fork_pr is not true.
|
|
80
|
+
required: false
|
|
81
|
+
default: "false"
|
|
68
82
|
poll_interval_seconds:
|
|
69
83
|
description: Reserved for a future hosted runner; ignored for inline MVP execution.
|
|
70
84
|
required: false
|
|
@@ -103,6 +117,7 @@ runs:
|
|
|
103
117
|
RESTORMEL_TESTING_WORKING_DIRECTORY: ${{ inputs.working_directory }}
|
|
104
118
|
RESTORMEL_TESTING_FORK_PR_POLICY: ${{ inputs.fork_pr_policy }}
|
|
105
119
|
RESTORMEL_TESTING_IS_FORK_PR: ${{ inputs.is_fork_pr }}
|
|
120
|
+
RESTORMEL_TESTING_FORK_PR_LABEL_PRESENT: ${{ inputs.fork_pr_label_present }}
|
|
106
121
|
RESTORMEL_TESTING_POLL_INTERVAL_SECONDS: ${{ inputs.poll_interval_seconds }}
|
|
107
122
|
RESTORMEL_TESTING_TIMEOUT_MINUTES: ${{ inputs.timeout_minutes }}
|
|
108
123
|
run: node "$RESTORMEL_TESTING_ACTION_MAIN_JS"
|
package/dist/fork-policy.d.ts
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
/** How to treat pull requests from repository forks (secrets are not available to fork workflows by default). */
|
|
2
|
-
export type ForkPrPolicy = "skip" | "run";
|
|
2
|
+
export type ForkPrPolicy = "skip" | "run" | "require_label" | "sandbox_only";
|
|
3
|
+
export type ForkPrSkipReason = "fork_default" | "fork_missing_label";
|
|
4
|
+
export interface ForkPrEvaluationContext {
|
|
5
|
+
isForkPr: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* When using `require_label` or `sandbox_only`, the workflow should pass `true` if the PR has the
|
|
8
|
+
* maintainer-approved label (e.g. `contains(github.event.pull_request.labels.*.name, 'ok-to-test')`).
|
|
9
|
+
*/
|
|
10
|
+
requiredLabelPresent: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ForkPrEvaluationResult {
|
|
13
|
+
/** When false, the action should not invoke the runner. */
|
|
14
|
+
execute: boolean;
|
|
15
|
+
skipReason?: ForkPrSkipReason;
|
|
16
|
+
/**
|
|
17
|
+
* When skipping, exit **78** so required checks can be configured as “neutral” in some setups.
|
|
18
|
+
* `skip` and `require_label` use exit **0** on skip (green step).
|
|
19
|
+
*/
|
|
20
|
+
useNeutralExit: boolean;
|
|
21
|
+
}
|
|
3
22
|
/**
|
|
4
|
-
*
|
|
23
|
+
* Decide whether fork PRs should run, and whether a neutral exit code is appropriate.
|
|
5
24
|
*/
|
|
6
|
-
export declare function
|
|
25
|
+
export declare function evaluateForkPrPolicy(policy: ForkPrPolicy, ctx: ForkPrEvaluationContext): ForkPrEvaluationResult;
|
|
26
|
+
/** @deprecated Use {@link evaluateForkPrPolicy} with {@link ForkPrEvaluationContext}. */
|
|
27
|
+
export declare function shouldSkipForkPr(policy: "skip" | "run", isForkPr: boolean): boolean;
|
|
7
28
|
//# sourceMappingURL=fork-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork-policy.d.ts","sourceRoot":"","sources":["../src/fork-policy.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"fork-policy.d.ts","sourceRoot":"","sources":["../src/fork-policy.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,CAAC;AAE7E,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,uBAAuB,GAAG,sBAAsB,CAkB/G;AAED,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAKnF"}
|
package/dist/fork-policy.js
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Decide whether fork PRs should run, and whether a neutral exit code is appropriate.
|
|
3
3
|
*/
|
|
4
|
+
export function evaluateForkPrPolicy(policy, ctx) {
|
|
5
|
+
if (!ctx.isForkPr) {
|
|
6
|
+
return { execute: true, useNeutralExit: false };
|
|
7
|
+
}
|
|
8
|
+
if (policy === "run") {
|
|
9
|
+
return { execute: true, useNeutralExit: false };
|
|
10
|
+
}
|
|
11
|
+
if (policy === "skip") {
|
|
12
|
+
return { execute: false, skipReason: "fork_default", useNeutralExit: false };
|
|
13
|
+
}
|
|
14
|
+
if (ctx.requiredLabelPresent) {
|
|
15
|
+
return { execute: true, useNeutralExit: false };
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
execute: false,
|
|
19
|
+
skipReason: "fork_missing_label",
|
|
20
|
+
useNeutralExit: policy === "sandbox_only",
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** @deprecated Use {@link evaluateForkPrPolicy} with {@link ForkPrEvaluationContext}. */
|
|
4
24
|
export function shouldSkipForkPr(policy, isForkPr) {
|
|
5
|
-
return policy === "skip"
|
|
25
|
+
return !evaluateForkPrPolicy(policy === "run" ? "run" : "skip", {
|
|
26
|
+
isForkPr,
|
|
27
|
+
requiredLabelPresent: false,
|
|
28
|
+
}).execute;
|
|
6
29
|
}
|
|
7
30
|
//# sourceMappingURL=fork-policy.js.map
|
package/dist/fork-policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork-policy.js","sourceRoot":"","sources":["../src/fork-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fork-policy.js","sourceRoot":"","sources":["../src/fork-policy.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAoB,EAAE,GAA4B;IACrF,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,MAAM,KAAK,cAAc;KAC1C,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,QAAiB;IACxE,OAAO,CAAC,oBAAoB,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE;QAC9D,QAAQ;QACR,oBAAoB,EAAE,KAAK;KAC5B,CAAC,CAAC,OAAO,CAAC;AACb,CAAC"}
|
package/dist/run-ci.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Optional “neutral skip” for fork policies that should not count as a green required check. */
|
|
2
|
+
export declare const EXIT_NEUTRAL_SKIP = 78;
|
|
1
3
|
/**
|
|
2
4
|
* CI entrypoint driven by environment variables (set from `action.yml`).
|
|
3
5
|
* Inline execution only — no polling or hosted control plane.
|
package/dist/run-ci.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ci.d.ts","sourceRoot":"","sources":["../src/run-ci.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-ci.d.ts","sourceRoot":"","sources":["../src/run-ci.ts"],"names":[],"mappings":"AAWA,iGAAiG;AACjG,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAmCpC;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAsLpD"}
|
package/dist/run-ci.js
CHANGED
|
@@ -4,10 +4,12 @@ import { sanitizePathSegment } from "@restormel/testing-core";
|
|
|
4
4
|
import { keysAdapterOptionsFromProcessEnv } from "@restormel/testing-keys-adapter";
|
|
5
5
|
import { buildGithubStepSummaryMarkdown, writeRunReportBundle } from "@restormel/testing-report";
|
|
6
6
|
import { runLocalSuite } from "@restormel/testing-runner";
|
|
7
|
-
import {
|
|
7
|
+
import { evaluateForkPrPolicy } from "./fork-policy.js";
|
|
8
8
|
const EXIT_OK = 0;
|
|
9
9
|
const EXIT_FAILED = 1;
|
|
10
10
|
const EXIT_USAGE = 2;
|
|
11
|
+
/** Optional “neutral skip” for fork policies that should not count as a green required check. */
|
|
12
|
+
export const EXIT_NEUTRAL_SKIP = 78;
|
|
11
13
|
function getenv(name) {
|
|
12
14
|
const v = process.env[name];
|
|
13
15
|
return v === undefined || v.trim() === "" ? undefined : v;
|
|
@@ -27,8 +29,18 @@ function appendOutput(pairs) {
|
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
function parseForkPolicy(raw) {
|
|
30
|
-
const v = (raw ?? "skip").toLowerCase();
|
|
31
|
-
|
|
32
|
+
const v = (raw ?? "skip").toLowerCase().trim();
|
|
33
|
+
if (v === "run")
|
|
34
|
+
return "run";
|
|
35
|
+
if (v === "require_label")
|
|
36
|
+
return "require_label";
|
|
37
|
+
if (v === "sandbox_only")
|
|
38
|
+
return "sandbox_only";
|
|
39
|
+
return "skip";
|
|
40
|
+
}
|
|
41
|
+
function parseForkLabelPresent(raw) {
|
|
42
|
+
const v = raw?.trim().toLowerCase();
|
|
43
|
+
return v === "true" || v === "1" || v === "yes";
|
|
32
44
|
}
|
|
33
45
|
/**
|
|
34
46
|
* CI entrypoint driven by environment variables (set from `action.yml`).
|
|
@@ -39,18 +51,30 @@ export async function runCiFromEnv() {
|
|
|
39
51
|
const policy = parseForkPolicy(getenv("RESTORMEL_TESTING_FORK_PR_POLICY"));
|
|
40
52
|
const forkRaw = getenv("RESTORMEL_TESTING_IS_FORK_PR")?.trim().toLowerCase();
|
|
41
53
|
const isForkPr = forkRaw === "true" || forkRaw === "1" || forkRaw === "yes";
|
|
42
|
-
|
|
54
|
+
const requiredLabelPresent = parseForkLabelPresent(getenv("RESTORMEL_TESTING_FORK_PR_LABEL_PRESENT"));
|
|
55
|
+
const forkDecision = evaluateForkPrPolicy(policy, { isForkPr, requiredLabelPresent });
|
|
56
|
+
if (!forkDecision.execute) {
|
|
43
57
|
appendSummary("## Restormel Testing");
|
|
44
58
|
appendSummary("");
|
|
45
|
-
|
|
59
|
+
const reason = forkDecision.skipReason === "fork_missing_label"
|
|
60
|
+
? "skipped (fork PR — required maintainer label not present)"
|
|
61
|
+
: "skipped (fork PR safe mode)";
|
|
62
|
+
appendSummary(`**Status:** ${reason}`);
|
|
46
63
|
appendSummary("");
|
|
47
|
-
|
|
64
|
+
if (forkDecision.skipReason === "fork_missing_label") {
|
|
65
|
+
appendSummary("This fork PR does not have the approval label your workflow checks. Add the label or use `fork_pr_policy: run` only when the suite is safe on forks (public URLs, no repo secrets).");
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
appendSummary("This workflow run targets a **fork** pull request. By default the action does not run browser suites so you are not surprised by missing secrets or unreachable private preview URLs.");
|
|
69
|
+
}
|
|
48
70
|
appendSummary("");
|
|
49
71
|
appendSummary("To run on forks anyway, set input `fork_pr_policy: run` and ensure the suite uses only **public** targets and **no repository secrets**.");
|
|
50
72
|
appendSummary("");
|
|
73
|
+
appendSummary("For `require_label` / `sandbox_only`, set `fork_pr_label_present` from `github.event.pull_request.labels` in the workflow.");
|
|
74
|
+
appendSummary("");
|
|
51
75
|
appendSummary("Prefer `pull_request` (not `pull_request_target`) unless you fully understand the security model.");
|
|
52
76
|
appendOutput({ verdict: "skipped", run_id: "", skipped: "true" });
|
|
53
|
-
return EXIT_OK;
|
|
77
|
+
return forkDecision.useNeutralExit ? EXIT_NEUTRAL_SKIP : EXIT_OK;
|
|
54
78
|
}
|
|
55
79
|
const wd = getenv("RESTORMEL_TESTING_WORKING_DIRECTORY") ?? ".";
|
|
56
80
|
const root = join(workspace, wd);
|
package/dist/run-ci.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ci.js","sourceRoot":"","sources":["../src/run-ci.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"run-ci.js","sourceRoot":"","sources":["../src/run-ci.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@restormel/testing-github-action",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "GitHub Action entrypoint for Restormel / Testing (inline runner MVP).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"node": ">=20"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@restormel/testing-
|
|
30
|
-
"@restormel/testing-
|
|
31
|
-
"@restormel/testing-runner": "0.1.
|
|
32
|
-
"@restormel/testing-
|
|
29
|
+
"@restormel/testing-core": "0.1.6",
|
|
30
|
+
"@restormel/testing-keys-adapter": "0.1.6",
|
|
31
|
+
"@restormel/testing-runner": "0.1.6",
|
|
32
|
+
"@restormel/testing-report": "0.1.6"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"typescript": "^5.7.0"
|