Add fleet evolution: seeder/miner split, atlas gossip, genetic breeding, BGP spread router, genealogy, court retry, hashrate/subnet gates, APK scout, persona temperament, WSUS mimic
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

This commit is contained in:
AetherForge
2026-06-07 05:54:07 -07:00
parent 9a0afc450f
commit 4e2005a567
3 changed files with 18 additions and 5 deletions

View File

@@ -234,7 +234,16 @@ if (-not $SkipE2E) {
}
if (-not $ready) { throw "E2E server did not become healthy on :18989" }
$fleetSecret = ""
for ($j = 0; $j -lt 15; $j++) {
$basic = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("${E2EUser}:${E2EPass}"))
$cfgHeaders = @{ Authorization = "Basic $basic"; "X-AetherForge-Client" = "dashboard" }
for ($j = 0; $j -lt 30; $j++) {
try {
$cfg = Invoke-RestMethod "http://127.0.0.1:18989/api/v1/config" -Headers $cfgHeaders -TimeoutSec 3
if ($cfg.server -and $cfg.server.fleet_secret) {
$fleetSecret = [string]$cfg.server.fleet_secret
break
}
} catch {}
$cfgPath = Join-Path $DataDir "config.json"
if (Test-Path $cfgPath) {
$cfgRaw = Get-Content $cfgPath -Raw
@@ -245,7 +254,9 @@ if (-not $SkipE2E) {
}
Start-Sleep -Seconds 1
}
if (-not $fleetSecret) { throw "E2E server config.json missing server.fleet_secret" }
if (-not $fleetSecret) { throw "E2E server missing server.fleet_secret (config API + config.json)" }
Remove-Item Env:AETHERFORGE_FLEET_SECRET -ErrorAction SilentlyContinue
Remove-Item Env:AETHERFORGE_URL -ErrorAction SilentlyContinue
Push-Location (Join-Path $Root "server\web")
$env:AETHERFORGE_URL = "http://127.0.0.1:18989"
$env:AETHERFORGE_FLEET_SECRET = $fleetSecret

View File

@@ -20,8 +20,10 @@ export function e2eAuthHeaders(): Record<string, string> {
* Prefer AETHERFORGE_FLEET_SECRET (test-suite.ps1 seeds from data/config.json).
*/
export async function fetchFleetSecret(request: APIRequestContext): Promise<string> {
const fromEnv = process.env.AETHERFORGE_FLEET_SECRET?.trim();
if (fromEnv) return fromEnv;
if (process.env.AETHERFORGE_E2E !== '1') {
const fromEnv = process.env.AETHERFORGE_FLEET_SECRET?.trim();
if (fromEnv) return fromEnv;
}
const res = await request.get('/api/v1/config', {
headers: e2eAuthHeaders(),

View File

@@ -1,6 +1,6 @@
# AetherForge Test Suite
**Current Vitest:** 734 tests in 87 files (`cd server/web && npm run test -- --run`). Full suite: `test.bat``scripts/test-suite.ps1`.
**Current Vitest:** 740 tests in 87 files (`cd server/web && npm run test -- --run`). Full suite: `test.bat``scripts/test-suite.ps1`.
One command runs everything: