91 lines
3.4 KiB
PowerShell
91 lines
3.4 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
$PSNativeCommandUseErrorActionPreference = $true
|
|
|
|
python scripts/rc_readiness.py
|
|
|
|
Push-Location backend
|
|
try {
|
|
python -m compileall -q src tests
|
|
python -m ruff check src tests
|
|
python -m mypy src
|
|
python -m pytest -q
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
|
|
Push-Location frontend
|
|
try {
|
|
npm test
|
|
npm run build
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
|
|
node --test clients/typescript/modelforge-client.test.mjs
|
|
|
|
Push-Location node-agent
|
|
try {
|
|
python -m compileall -q src tests
|
|
python -m ruff check src tests
|
|
python -m mypy src
|
|
python -m pytest -q
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
|
|
Push-Location runtime-worker
|
|
try {
|
|
python -m compileall -q src tests
|
|
python -m ruff check src tests
|
|
python -m mypy src
|
|
python -m pytest -q
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
|
|
$composeValidationEnvironment = [ordered]@{
|
|
MODELFORGE_POSTGRES_DB = "modelforge"
|
|
VITE_API_BASE_URL = "http://127.0.0.1:8000"
|
|
MODELFORGE_CORS_ORIGINS = "http://127.0.0.1:3000"
|
|
MODELFORGE_VERSION = (Get-Content VERSION -Raw).Trim()
|
|
MODELFORGE_OPERATOR_API_KEY = "compose-validation-operator-not-for-production"
|
|
MODELFORGE_BACKUP_ENCRYPTION_KEY = "compose-validation-backup-not-for-production"
|
|
MODELFORGE_POSTGRES_ADMIN_PASSWORD = "compose-validation-admin"
|
|
MODELFORGE_MIGRATION_DB_PASSWORD = "compose-validation-owner"
|
|
MODELFORGE_RUNTIME_DB_PASSWORD = "compose-validation-runtime"
|
|
MODELFORGE_RUNTIME_DATABASE_URL = "postgresql+psycopg://modelforge_runtime:compose-validation-runtime@postgres:5432/modelforge"
|
|
MODELFORGE_MIGRATION_DATABASE_URL = "postgresql+psycopg://modelforge:compose-validation-owner@postgres:5432/modelforge"
|
|
MODELFORGE_AGENT_CA_CERT_PATH = "./validation-ca.crt"
|
|
MODELFORGE_AGENT_CONTROL_PLANE_HOST_ADDRESS = "192.0.2.10"
|
|
}
|
|
$previousComposeEnvironment = @{}
|
|
foreach ($name in $composeValidationEnvironment.Keys) {
|
|
$previousComposeEnvironment[$name] = [Environment]::GetEnvironmentVariable($name, "Process")
|
|
[Environment]::SetEnvironmentVariable(
|
|
$name,
|
|
$composeValidationEnvironment[$name],
|
|
"Process"
|
|
)
|
|
}
|
|
try {
|
|
docker compose --env-file .env.example -f docker-compose.yml -f docker-compose.production.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.yml -f docker-compose.backup.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.yml -f docker-compose.dr.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.yml -f docker-compose.node-recovery.yml config --quiet
|
|
docker compose --env-file .env.example config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.yml -f docker-compose.gpu.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.node-agent.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.node-agent.yml -f docker-compose.runtime-worker.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.node-agent.yml -f docker-compose.node-agent.private-ca.yml config --quiet
|
|
docker compose --env-file .env.example -f docker-compose.node-agent.yml -f docker-compose.node-agent.private-ca.yml -f docker-compose.runtime-worker.yml -f docker-compose.runtime-worker.private-ca.yml config --quiet
|
|
} finally {
|
|
foreach ($name in $composeValidationEnvironment.Keys) {
|
|
[Environment]::SetEnvironmentVariable(
|
|
$name,
|
|
$previousComposeEnvironment[$name],
|
|
"Process"
|
|
)
|
|
}
|
|
}
|
|
Write-Host "ModelForge component and Compose checks passed."
|