package-ipk and package-apk each run packaging/portal-build.sh on every matrix leg (up to ~12 ipk + 3 apk on main), redundantly cloning the portal repo and running npm ci && vite build per leg (~1-3 min each).
Worse, PORTAL_REF=main is resolved independently per leg, so concurrent legs can embed different portal commits in packages published under one BUILD_ID.
Fix: dedicated build-portal job (ubuntu-latest, setup-node@v4, pins/echoes resolved PORTAL_REF) -> actions/upload-artifact -> package jobs download-artifact into packaging/files/tollgate-captive-portal-site/. Also makes PR runs actually validate the portal build path.
Not urgent; separate from the Node 12 hotfix (#366).
package-ipk and package-apk each run packaging/portal-build.sh on every matrix leg (up to ~12 ipk + 3 apk on main), redundantly cloning the portal repo and running npm ci && vite build per leg (~1-3 min each).
Worse, PORTAL_REF=main is resolved independently per leg, so concurrent legs can embed different portal commits in packages published under one BUILD_ID.
Fix: dedicated build-portal job (ubuntu-latest, setup-node@v4, pins/echoes resolved PORTAL_REF) -> actions/upload-artifact -> package jobs download-artifact into packaging/files/tollgate-captive-portal-site/. Also makes PR runs actually validate the portal build path.
Not urgent; separate from the Node 12 hotfix (#366).