mirror of
https://github.com/samvallad33/vestige.git
synced 2026-06-30 21:59:39 +02:00
ci(pages): deploy dashboard to GitHub Pages with subpath-aware base
The github-pages deployment showed a red X: actions/configure-pages@v5 ran with enablement:true, but Pages was never enabled in repo settings and the default GITHUB_TOKEN cannot create a Pages site, so deploy failed with "Resource not accessible by integration". The launch-kit revert then deleted the workflow entirely, leaving nothing to deploy. - Restore a modernized pages.yml (Pages now enabled via API, so no enablement hack; actions/checkout@v5 + Node 24 off the deprecated Node 20). - Make the dashboard base path env-driven (VESTIGE_BASE_PATH), defaulting to /dashboard for local/embedded use and overridden to /vestige in CI so assets resolve at the Pages project subpath instead of 404ing. - Workflow builds the dashboard under /vestige and writes a root-level redirect index.html so the bare Pages URL lands on the dashboard. - Rebuild the committed dashboard artifact (was stale at 2.1.23) to 2.1.27. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b8212feb15
commit
79b1026a65
112 changed files with 106 additions and 22 deletions
79
.github/workflows/pages.yml
vendored
Normal file
79
.github/workflows/pages.yml
vendored
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
name: Deploy GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, feat/cloud-sync-mvp]
|
||||
paths:
|
||||
- 'apps/dashboard/**'
|
||||
- '.github/workflows/pages.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
# Allow one concurrent deployment; let an in-progress run finish.
|
||||
concurrency:
|
||||
group: pages
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
env:
|
||||
# GitHub Pages serves this project repo from the /vestige/ subpath.
|
||||
# The dashboard must be built with a matching base so every _app/ asset
|
||||
# resolves instead of 404ing.
|
||||
VESTIGE_BASE_PATH: /vestige
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
|
||||
- uses: actions/setup-node@v5
|
||||
with:
|
||||
node-version: 24
|
||||
cache: pnpm
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Build dashboard
|
||||
run: pnpm --filter @vestige/dashboard build
|
||||
|
||||
- name: Assemble site root
|
||||
run: |
|
||||
rm -rf _site
|
||||
mkdir -p _site/vestige
|
||||
# Publish the dashboard under /vestige/ (matches VESTIGE_BASE_PATH).
|
||||
cp -r apps/dashboard/build/* _site/vestige/
|
||||
# Root-level redirect so visitors hitting the bare Pages URL land
|
||||
# on the dashboard instead of a 404.
|
||||
cat > _site/index.html <<'HTML'
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="refresh" content="0; url=./vestige/" />
|
||||
<link rel="canonical" href="./vestige/" />
|
||||
<title>Vestige</title>
|
||||
<script>location.replace('./vestige/' + location.search + location.hash);</script>
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="./vestige/">the Vestige dashboard</a>…</p>
|
||||
</body>
|
||||
</html>
|
||||
HTML
|
||||
|
||||
- uses: actions/configure-pages@v5
|
||||
|
||||
- uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: _site
|
||||
|
||||
- id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/chunks/CtgMtoAJ.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/chunks/CtgMtoAJ.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/chunks/CtgMtoAJ.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/chunks/CtgMtoAJ.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/chunks/g4XF1_b9.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/chunks/g4XF1_b9.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/chunks/g4XF1_b9.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/chunks/g4XF1_b9.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/entry/app.DU6MZpw-.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/entry/app.DU6MZpw-.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/entry/app.DU6MZpw-.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/entry/app.DU6MZpw-.js.gz
Normal file
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
import{a as r}from"../chunks/CtgMtoAJ.js";import{w as t}from"../chunks/g4XF1_b9.js";export{t as load_css,r as start};
|
||||
BIN
apps/dashboard/build/_app/immutable/entry/start.DQakSJT1.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/entry/start.DQakSJT1.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/entry/start.DQakSJT1.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/entry/start.DQakSJT1.js.gz
Normal file
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
import{a as r}from"../chunks/C2TQQEIa.js";import{w as t}from"../chunks/D8UfWY0j.js";export{t as load_css,r as start};
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/nodes/0.D_38hT9S.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/0.D_38hT9S.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/0.D_38hT9S.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/0.D_38hT9S.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
import"../chunks/Bzak7iHL.js";import{i as h}from"../chunks/BUoSzNdg.js";import{p as g,f as d,t as l,a as v,d as s,r as o,e as _}from"../chunks/CpWkWWOo.js";import{s as p}from"../chunks/BlVfL1ME.js";import{a as x,f as $}from"../chunks/CHOnp4oo.js";import{p as m}from"../chunks/D8UfWY0j.js";import{s as k}from"../chunks/C2TQQEIa.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var E=$("<h1> </h1> <p> </p>",1);function C(f,n){g(n,!1),h();var t=E(),r=d(t),c=s(r,!0);o(r);var a=_(r,2),u=s(a,!0);o(a),l(()=>{var e;p(c,i.status),p(u,(e=i.error)==null?void 0:e.message)}),x(f,t),v()}export{C as component};
|
||||
import"../chunks/Bzak7iHL.js";import{i as h}from"../chunks/BUoSzNdg.js";import{p as g,f as d,t as l,a as v,d as s,r as o,e as _}from"../chunks/CpWkWWOo.js";import{s as p}from"../chunks/BlVfL1ME.js";import{a as x,f as $}from"../chunks/CHOnp4oo.js";import{p as m}from"../chunks/g4XF1_b9.js";import{s as k}from"../chunks/CtgMtoAJ.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const i=b;var E=$("<h1> </h1> <p> </p>",1);function C(f,n){g(n,!1),h();var t=E(),r=d(t),c=s(r,!0);o(r);var a=_(r,2),u=s(a,!0);o(a),l(()=>{var e;p(c,i.status),p(u,(e=i.error)==null?void 0:e.message)}),x(f,t),v()}export{C as component};
|
||||
BIN
apps/dashboard/build/_app/immutable/nodes/1.CzSrpo2A.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/1.CzSrpo2A.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/1.CzSrpo2A.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/1.CzSrpo2A.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,4 +1,4 @@
|
|||
var Bc=Object.defineProperty;var zc=(i,t,e)=>t in i?Bc(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var kt=(i,t,e)=>zc(i,typeof t!="symbol"?t+"":t,e);import"../chunks/Bzak7iHL.js";import{o as jl,a as Zl}from"../chunks/GG5zm9kr.js";import{s as me,c as va,h as zt,g as B,p as ys,aB as kc,a as Es,d as yt,e as bt,n as Hc,r as xt,t as Ke,u as Gn,f as Kl,j as Vc}from"../chunks/CpWkWWOo.js";import{s as fe,d as $l,a as Fe}from"../chunks/BlVfL1ME.js";import{i as kn}from"../chunks/B4yTwGkE.js";import{e as _s,i as hr}from"../chunks/CGEBXrjl.js";import{a as _e,f as Se,c as Gc}from"../chunks/CHOnp4oo.js";import{s as ve,r as xa}from"../chunks/A7po6GxK.js";import{s as Us}from"../chunks/aVbAZ-t7.js";import{s as Sr}from"../chunks/Cx-f-Pzo.js";import{b as Ma}from"../chunks/sZcqyNBA.js";import{b as Jl}from"../chunks/BnXDGOmJ.js";import{s as Wc,a as Xc}from"../chunks/C6HuKgyx.js";import{b as Do}from"../chunks/D8UfWY0j.js";import{b as Yc}from"../chunks/CJsMJEun.js";import{p as vs}from"../chunks/V6gjw5Ec.js";import{N as Sa}from"../chunks/CcUbQ_Wl.js";import{i as qc}from"../chunks/BUoSzNdg.js";import{a as gi}from"../chunks/B7CfdQuM.js";import{e as jc}from"../chunks/MAY1QfFZ.js";/**
|
||||
var Bc=Object.defineProperty;var zc=(i,t,e)=>t in i?Bc(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var kt=(i,t,e)=>zc(i,typeof t!="symbol"?t+"":t,e);import"../chunks/Bzak7iHL.js";import{o as jl,a as Zl}from"../chunks/GG5zm9kr.js";import{s as me,c as va,h as zt,g as B,p as ys,aB as kc,a as Es,d as yt,e as bt,n as Hc,r as xt,t as Ke,u as Gn,f as Kl,j as Vc}from"../chunks/CpWkWWOo.js";import{s as fe,d as $l,a as Fe}from"../chunks/BlVfL1ME.js";import{i as kn}from"../chunks/B4yTwGkE.js";import{e as _s,i as hr}from"../chunks/CGEBXrjl.js";import{a as _e,f as Se,c as Gc}from"../chunks/CHOnp4oo.js";import{s as ve,r as xa}from"../chunks/A7po6GxK.js";import{s as Us}from"../chunks/aVbAZ-t7.js";import{s as Sr}from"../chunks/Cx-f-Pzo.js";import{b as Ma}from"../chunks/sZcqyNBA.js";import{b as Jl}from"../chunks/BnXDGOmJ.js";import{s as Wc,a as Xc}from"../chunks/C6HuKgyx.js";import{b as Do}from"../chunks/g4XF1_b9.js";import{b as Yc}from"../chunks/CJsMJEun.js";import{p as vs}from"../chunks/V6gjw5Ec.js";import{N as Sa}from"../chunks/CcUbQ_Wl.js";import{i as qc}from"../chunks/BUoSzNdg.js";import{a as gi}from"../chunks/B7CfdQuM.js";import{e as jc}from"../chunks/MAY1QfFZ.js";/**
|
||||
* @license
|
||||
* Copyright 2010-2024 Three.js Authors
|
||||
* SPDX-License-Identifier: MIT
|
||||
BIN
apps/dashboard/build/_app/immutable/nodes/10.CQzEYpYT.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/10.CQzEYpYT.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/10.CQzEYpYT.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/10.CQzEYpYT.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/nodes/11.CncxcJx_.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/11.CncxcJx_.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/11.CncxcJx_.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/11.CncxcJx_.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/nodes/20.DENLzARE.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/20.DENLzARE.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/20.DENLzARE.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/20.DENLzARE.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
import"../chunks/Bzak7iHL.js";import{i as p}from"../chunks/BUoSzNdg.js";import{o as r}from"../chunks/GG5zm9kr.js";import{p as t,a}from"../chunks/CpWkWWOo.js";import{g as m}from"../chunks/C2TQQEIa.js";function g(i,o){t(o,!1),r(()=>m("/graph",{replaceState:!0})),p(),a()}export{g as component};
|
||||
import"../chunks/Bzak7iHL.js";import{i as p}from"../chunks/BUoSzNdg.js";import{o as r}from"../chunks/GG5zm9kr.js";import{p as t,a}from"../chunks/CpWkWWOo.js";import{g as m}from"../chunks/CtgMtoAJ.js";function g(i,o){t(o,!1),r(()=>m("/graph",{replaceState:!0})),p(),a()}export{g as component};
|
||||
BIN
apps/dashboard/build/_app/immutable/nodes/3.2jAIqAuY.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/3.2jAIqAuY.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/3.2jAIqAuY.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/3.2jAIqAuY.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
apps/dashboard/build/_app/immutable/nodes/6.B5Ezgq8d.js.br
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/6.B5Ezgq8d.js.br
Normal file
Binary file not shown.
BIN
apps/dashboard/build/_app/immutable/nodes/6.B5Ezgq8d.js.gz
Normal file
BIN
apps/dashboard/build/_app/immutable/nodes/6.B5Ezgq8d.js.gz
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue