mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 17:58:55 +00:00
Dev infra: Windows-first bootstrap - portable MySQL/Redis stack, no WSL required
Adds script/bootstrap/windows/*.ps1 (PowerShell 5.1-compatible) as the primary bootstrap path, validated end-to-end on a real Windows 10 machine: - Portable stack under gitignored .devstack/: MySQL 8.4.11 (official cdn.mysql.com zip, --initialize-insecure, bound to 127.0.0.1) and Redis 5.0.14.1 (tporadowski build, REDIS_ZIP_URL-overridable) run as plain user processes - no admin, no services, no WSL, no Docker - bootstrap_dev_stack.ps1: winget-installs missing build tools (Strawberry Perl, NASM, LLVM; wreq's BoringSSL + aws-lc-sys need them), compiles diesel_cli against the portable MySQL's own client lib (MYSQLCLIENT_LIB_DIR), runs all 281 migrations, seeds roles/badges idempotently, generates the dummy secrets env (plus TEMP_DIR for Windows), builds storyteller-web, installs frontend deps - start/stop_dev_services.ps1, run_backend_dev.ps1, seed_demo_user.ps1, dev_stack_doctor.ps1 mirror the bash variants - Invoke-Native (cmd /c ... 2>&1) wraps long-running native calls so PS 5.1 cannot turn harmless stderr warnings into terminating NativeCommandErrors when output is captured; my.ini uses forward slashes (MySQL escape rules) Verified on this machine: 281/281 migrations applied, backend built (3m05s) and booted on :12345 with dummy secrets, POST /v1/create_account + /v1/login round-trip succeeded, webapp dev server served on :4201, doctor reports 0 failures. The bash scripts remain the Linux/WSL2/CI path.
This commit is contained in:
1 parent
537409eb3e
commit
345cbe766a
10 files changed
+1034
-6
No files matched your search
@@ -2,8 +2,9 @@
|
||||
# Bootstrap the full local dev stack (backend + frontend) on a fresh clone.
|
||||
#
|
||||
# Target platform: Ubuntu 22.04+ — native, WSL2, or a CI runner/container.
|
||||
# (macOS users: follow _docs/dev_setup_server.md manually; Windows users: run
|
||||
# this inside WSL2. See _docs/dev_setup_local_stack.md.)
|
||||
# (Windows users: the native PowerShell variant in script/bootstrap/windows/
|
||||
# is the primary path — no WSL needed. macOS users: follow
|
||||
# _docs/dev_setup_server.md manually. See _docs/dev_setup_local_stack.md.)
|
||||
#
|
||||
# Idempotent: safe to re-run at any time; each step detects work already done.
|
||||
#
|
||||
@@ -94,7 +95,7 @@ ensure_supported_platform() {
|
||||
die "This script targets Ubuntu/WSL2. On macOS, follow _docs/dev_setup_server.md."
|
||||
;;
|
||||
*)
|
||||
die "Unsupported platform '$(uname -s)'. Run inside WSL2 Ubuntu (wsl --install -d Ubuntu-22.04)."
|
||||
die "Unsupported platform '$(uname -s)'. On Windows use script/bootstrap/windows/bootstrap_dev_stack.ps1 (native), or WSL2 Ubuntu for this script."
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
Reference in new issue
Block a user