From cc195990ffa3d5159ca03a2e5c7af58df00b7c83 Mon Sep 17 00:00:00 2001 From: Oliver Kieselbach Date: Wed, 29 Jul 2026 01:52:28 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20SWA=20deploy=20=E2=80=94=20drop=20invali?= =?UTF-8?q?d=20is=5Fstatic=5Fexport=20input,=20dedupe=20trailing-slash=20r?= =?UTF-8?q?outes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pinned Azure/static-web-apps-deploy@v1 has no is_static_export input (warning only — Oryx detected the export and validated out/ regardless). The real failure was config validation: with "trailingSlash": "auto" SWA normalizes /x and /x/ to the same route key, so the defensive trailing-slash duplicates were rejected as duplicate rules. One entry per route covers both forms under auto. Co-Authored-By: Claude Fable 5 --- .github/workflows/deploy-web.yml | 5 +++-- src/Web/autopilot-monitor-web/staticwebapp.config.json | 4 ---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-web.yml b/.github/workflows/deploy-web.yml index b1753c59..f5a0d9ed 100644 --- a/.github/workflows/deploy-web.yml +++ b/.github/workflows/deploy-web.yml @@ -54,9 +54,10 @@ jobs: api_location: "" # Api source code path - optional # Static export (next.config output:'export'): Oryx runs `npm run build` # and uploads the exported out/ directory as plain static files — no - # managed SSR runtime is provisioned anymore. + # managed SSR runtime is provisioned anymore. (No is_static_export + # input on this action version; Oryx detects the export from + # next.config + output_location.) output_location: "out" # Built app content directory - optional - is_static_export: true ###### End of Repository/Build Configurations ###### close_pull_request_job: diff --git a/src/Web/autopilot-monitor-web/staticwebapp.config.json b/src/Web/autopilot-monitor-web/staticwebapp.config.json index 724dee09..b32c38cf 100644 --- a/src/Web/autopilot-monitor-web/staticwebapp.config.json +++ b/src/Web/autopilot-monitor-web/staticwebapp.config.json @@ -26,17 +26,13 @@ { "route": "/apple-icon", "headers": { "Content-Type": "image/png" } }, { "route": "/sessions/inspector", "rewrite": "/sessions/inspector/index.html" }, - { "route": "/sessions/inspector/", "rewrite": "/sessions/inspector/index.html" }, { "route": "/sessions/*", "rewrite": "/sessions/index.html" }, { "route": "/diagnosis/*", "rewrite": "/diagnosis/index.html" }, { "route": "/apps/detail", "rewrite": "/apps/detail/index.html" }, - { "route": "/apps/detail/", "rewrite": "/apps/detail/index.html" }, { "route": "/apps/*", "rewrite": "/apps/detail/index.html" }, { "route": "/admin/backups/detail", "rewrite": "/admin/backups/detail/index.html" }, - { "route": "/admin/backups/detail/", "rewrite": "/admin/backups/detail/index.html" }, { "route": "/admin/backups/*", "rewrite": "/admin/backups/detail/index.html" }, { "route": "/admin/customs-archive/detail", "rewrite": "/admin/customs-archive/detail/index.html" }, - { "route": "/admin/customs-archive/detail/", "rewrite": "/admin/customs-archive/detail/index.html" }, { "route": "/admin/customs-archive/*", "rewrite": "/admin/customs-archive/detail/index.html" } ], "responseOverrides": {