generated from CubeCraft-Creations/Tracehound
fix: build frontend into the go:embed path so the hub binary compiles
cmd/server/main.go has //go:embed all:src/dist (relative to cmd/server/), but Vite built to repo-root dist/, so cmd/server/src/dist never existed and every `go build` failed with "pattern all:src/dist: no matching files found". The hub binary has never built in CI as a result. - vite.config.ts: outDir -> cmd/server/src/dist (emptyOutDir) - commit cmd/server/src/dist/index.html placeholder so the embed always has a file (real build overwrites it) - .gitignore: scope dist ignore to /dist; ignore cmd/server/src/dist/* but keep the index.html placeholder (the prior !src/dist/index.html rule pointed at the wrong path) - ci.yaml: upload artifact from the new output path Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -46,7 +46,7 @@ jobs:
|
|||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: dist
|
name: dist
|
||||||
path: dist/
|
path: cmd/server/src/dist/
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
needs: build
|
needs: build
|
||||||
|
|||||||
+6
-4
@@ -9,13 +9,15 @@ lerna-debug.log*
|
|||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
node_modules
|
node_modules
|
||||||
dist
|
/dist
|
||||||
dist-ssr
|
dist-ssr
|
||||||
*.local
|
*.local
|
||||||
|
|
||||||
# Frontend build output (embedded at Go build time)
|
# Frontend build output — embedded into the Go binary at build time.
|
||||||
# Allow the fallback placeholder so embed always has at least index.html
|
# Vite writes here (cmd/server/src/dist); ignore the built output but keep
|
||||||
!src/dist/index.html
|
# the committed index.html placeholder so //go:embed always has a file.
|
||||||
|
cmd/server/src/dist/*
|
||||||
|
!cmd/server/src/dist/index.html
|
||||||
|
|
||||||
# Environment files
|
# Environment files
|
||||||
.env
|
.env
|
||||||
|
|||||||
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<!-- Placeholder so //go:embed all:src/dist always has a file to embed.
|
||||||
|
Replaced by the real Vite build output (npm run build) at CI build time. -->
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>RemoteRig Hub</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>RemoteRig hub is running. Frontend not built into this binary.</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -5,6 +5,12 @@ import react from '@vitejs/plugin-react'
|
|||||||
// https://vite.dev/config/
|
// https://vite.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
|
// Build straight into the Go embed location: cmd/server/main.go has
|
||||||
|
// //go:embed all:src/dist relative to its package dir (cmd/server/).
|
||||||
|
build: {
|
||||||
|
outDir: 'cmd/server/src/dist',
|
||||||
|
emptyOutDir: true,
|
||||||
|
},
|
||||||
server: {
|
server: {
|
||||||
port: 3000,
|
port: 3000,
|
||||||
proxy: {
|
proxy: {
|
||||||
|
|||||||
Reference in New Issue
Block a user