test(updater): narrow optional workflow jobs and format the OTA assertion
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015mFCmHk4zPyWpD9yY2C3yJ
This commit is contained in:
parent
80c56eef36
commit
1c3d8c40fe
@ -21,7 +21,7 @@ const workflow = parse(workflowText) as {
|
|||||||
describe("ci workflow merge gate", () => {
|
describe("ci workflow merge gate", () => {
|
||||||
it("aggregates only product jobs in Product CI", () => {
|
it("aggregates only product jobs in Product CI", () => {
|
||||||
const productGate = workflow.jobs["product-gate"];
|
const productGate = workflow.jobs["product-gate"];
|
||||||
expect(productGate.needs).toEqual([
|
expect(productGate?.needs).toEqual([
|
||||||
"lint",
|
"lint",
|
||||||
"check",
|
"check",
|
||||||
"build",
|
"build",
|
||||||
@ -29,12 +29,12 @@ describe("ci workflow merge gate", () => {
|
|||||||
"test-integration",
|
"test-integration",
|
||||||
"test-e2e",
|
"test-e2e",
|
||||||
]);
|
]);
|
||||||
expect(productGate.if).toBe("always()");
|
expect(productGate?.if).toBe("always()");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("soft-fails mobile OTA so missing Expo credentials do not fail the workflow", () => {
|
it("soft-fails mobile OTA so missing Expo credentials do not fail the workflow", () => {
|
||||||
const mobile = workflow.jobs["publish-mobile-update"];
|
const mobile = workflow.jobs["publish-mobile-update"];
|
||||||
expect(mobile["continue-on-error"]).toBe(true);
|
expect(mobile?.["continue-on-error"]).toBe(true);
|
||||||
expect(workflowText).toContain('echo "ready=false" >> "$GITHUB_OUTPUT"');
|
expect(workflowText).toContain('echo "ready=false" >> "$GITHUB_OUTPUT"');
|
||||||
expect(workflowText).not.toMatch(
|
expect(workflowText).not.toMatch(
|
||||||
/Check Expo automation token[\s\S]*?exit 1[\s\S]*?Require Expo/,
|
/Check Expo automation token[\s\S]*?exit 1[\s\S]*?Require Expo/,
|
||||||
@ -42,8 +42,6 @@ describe("ci workflow merge gate", () => {
|
|||||||
expect(workflowText).not.toContain(
|
expect(workflowText).not.toContain(
|
||||||
"Add an EXPO_TOKEN repository secret with access to the inbox-zero/rakazo Expo project.",
|
"Add an EXPO_TOKEN repository secret with access to the inbox-zero/rakazo Expo project.",
|
||||||
);
|
);
|
||||||
expect(workflowText).toContain(
|
expect(workflowText).toContain("steps.expo_token.outputs.ready == 'true'");
|
||||||
"steps.expo_token.outputs.ready == 'true'",
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user