{"product":"edge-apps-actions","releases":[{"date":"2026-04-20","entries":[{"areas":["developers"],"breaking":false,"content_html":"\u003cp\u003eThe \u003ccode\u003echecks\u003c/code\u003e action runs the usual CI steps for an Edge App as 1 step in your workflow. Add it after\nthe checkout step:\u003c/p\u003e\n\u003cdiv class=\"code-block\"\u003e\n  \u003cbutton type=\"button\" class=\"code-copy\" aria-label=\"Copy code\" data-copy-code\u003e\n    \u003csvg data-copy viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n      \u003crect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"2\"\u003e\u003c/rect\u003e\n      \u003cpath d=\"M5 15V5a2 2 0 0 1 2-2h10\"\u003e\u003c/path\u003e\n    \u003c/svg\u003e\n    \u003csvg data-check viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\n      \u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c/path\u003e\n    \u003c/svg\u003e\n  \u003c/button\u003e\n  \u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#d0d0d0;background-color:#202020;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e- \u003cspan style=\"color:#6ab825;font-weight:bold\"\u003euses\u003c/span\u003e:\u003cspan style=\"color:#666\"\u003e \u003c/span\u003eScreenly/edge-apps-actions/checks@v1\u003cspan style=\"color:#666\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#666\"\u003e  \u003c/span\u003e\u003cspan style=\"color:#6ab825;font-weight:bold\"\u003ewith\u003c/span\u003e:\u003cspan style=\"color:#666\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#666\"\u003e    \u003c/span\u003e\u003cspan style=\"color:#6ab825;font-weight:bold\"\u003ebun-version\u003c/span\u003e:\u003cspan style=\"color:#666\"\u003e \u003c/span\u003elatest\u003cspan style=\"color:#666\"\u003e \u003c/span\u003e\u003cspan style=\"color:#999;font-style:italic\"\u003e# optional\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/div\u003e\n\u003cp\u003eIt sets up Bun, installs dependencies with \u003ccode\u003ebun install --frozen-lockfile\u003c/code\u003e, and then runs these\nscripts from your \u003ccode\u003epackage.json\u003c/code\u003e, stopping at the first one that fails:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ccode\u003eformat:check\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elint\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebuild\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etest\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eSo the repo needs all 4 scripts and a committed Bun lockfile. \u003ccode\u003ebun-version\u003c/code\u003e picks the Bun release,\nand it\u0026rsquo;s \u003ccode\u003elatest\u003c/code\u003e when you leave it out.\u003c/p\u003e\n","description":"The checks action installs an Edge App's dependencies with Bun and runs its format check, lint, build, and tests, in that order.","title":"A checks action runs an Edge App's formatting, lint, build, and tests in 1 step","type":"release","url":"https://www.screenly.io/releases/edge-apps-actions/1.0.0/checks-action/"}],"json":"https://www.screenly.io/releases/edge-apps-actions/1.0.0/v1.json","product":"edge-apps-actions","product_label":"Edge Apps GitHub Actions","url":"https://www.screenly.io/releases/edge-apps-actions/1.0.0/","version":"1.0.0"}],"title":"Edge Apps GitHub Actions 1.0.0","url":"https://www.screenly.io/releases/edge-apps-actions/1.0.0/","version":1}