fix(ci): provision integration fixtures

This commit is contained in:
2026-08-25 17:07:51 +02:00
parent 06b26cf66f
commit 6d0cb6d997
5 changed files with 15 additions and 2 deletions
+5
View File
@@ -64,6 +64,11 @@ jobs:
run: | run: |
bash scripts/test-server-pi-state-topology.sh bash scripts/test-server-pi-state-topology.sh
bash scripts/unified-deployment-smoke.sh --self-test bash scripts/unified-deployment-smoke.sh --self-test
- name: Install harness CLI for backend integration tests
working-directory: harness
run: |
python3 -m venv .venv
.venv/bin/python -m pip install -e .
- name: Install backend dependencies - name: Install backend dependencies
working-directory: backend working-directory: backend
run: npm ci run: npm ci
@@ -31,8 +31,8 @@ const reviewedExpandableBlocks = new Map([
{ sha256: "40b8a10a3c06aaa98e324fbf688b7d1f5cead330d7ba7eef98e06256d412a85a", rationale: "Generates the reviewed restore safety manifest." }, { sha256: "40b8a10a3c06aaa98e324fbf688b7d1f5cead330d7ba7eef98e06256d412a85a", rationale: "Generates the reviewed restore safety manifest." },
]], ]],
["scripts/test-windows-clone-contract.ps1", [ ["scripts/test-windows-clone-contract.ps1", [
{ sha256: "80f4880576a0679cb58e7b92600e7a90550c93c254553a2d4b299539f9ff0bcf", rationale: "Generates reviewed Windows clone test configuration." }, { sha256: "3204f772d33cad42bcac99191507051aefb2c91d2935bec6698b956e44f9bf45", rationale: "Generates reviewed Windows clone test configuration with its authentication configuration root." },
{ sha256: "6166294bdc8a8bf6436ad402bcbf7cae0f3b67dc6051cecfcca79267a62b082c", rationale: "Same reviewed block in the repository-required CRLF checkout representation." }, { sha256: "f4814d842a7502b7ef30fd6b224d5cb17b0ffd6fb2367c41c49ac16587536d93", rationale: "Same reviewed block in the repository-required CRLF checkout representation." },
{ sha256: "8db9ab0ee3580399f311fe7a24d4ea97105873b8a2d41e34a1ec64302d86bee2", rationale: "Generates the reviewed Windows Compose override with a braced remote path." }, { sha256: "8db9ab0ee3580399f311fe7a24d4ea97105873b8a2d41e34a1ec64302d86bee2", rationale: "Generates the reviewed Windows Compose override with a braced remote path." },
{ sha256: "5afbeb3de5b89f978ef00b15f52e0066147bbfb8f6c9d1b7e081f4a1571ab204", rationale: "Same reviewed Compose override in the repository-required CRLF checkout representation." }, { sha256: "5afbeb3de5b89f978ef00b15f52e0066147bbfb8f6c9d1b7e081f4a1571ab204", rationale: "Same reviewed Compose override in the repository-required CRLF checkout representation." },
{ sha256: "5d0d1a3fc45e99b3aacaf4ee5dd09a6bee1937784375dfe4bcfaa4ae32cfb9de", rationale: "Generates reviewed Windows clone test configuration." }, { sha256: "5d0d1a3fc45e99b3aacaf4ee5dd09a6bee1937784375dfe4bcfaa4ae32cfb9de", rationale: "Generates reviewed Windows clone test configuration." },
@@ -293,6 +293,7 @@ test("Windows clone contract copies the shared complete schema v3 descriptor int
expect(windows).toContain('thoth-workspaces.yaml'); expect(windows).toContain('thoth-workspaces.yaml');
expect(windows).toContain('$workspaceDestination = Join-Path $workspaceDirectory "workspace.yaml"'); expect(windows).toContain('$workspaceDestination = Join-Path $workspaceDirectory "workspace.yaml"');
expect(windows).toContain('Join-Path $workspaceEvidence "guide.md"'); expect(windows).toContain('Join-Path $workspaceEvidence "guide.md"');
expect(windows).toContain('THT_AUTH_CONFIG_ROOT=$authConfigRoot');
expect(windows).not.toContain('schema_version: 3'); expect(windows).not.toContain('schema_version: 3');
expect(descriptor).toMatchObject({ expect(descriptor).toMatchObject({
workspace: { workspace: {
+4
View File
@@ -577,6 +577,10 @@ expect_rejected "nested workspace fixture" "scripts/fixtures/nested/deeper/works
# Python bytecode is disabled before pre-gate docs, and release dry-run starts with bootstrap trust. # Python bytecode is disabled before pre-gate docs, and release dry-run starts with bootstrap trust.
grep -Fq 'PYTHONDONTWRITEBYTECODE: "1"' "$project_root/.github/workflows/deployment.yml" \ grep -Fq 'PYTHONDONTWRITEBYTECODE: "1"' "$project_root/.github/workflows/deployment.yml" \
|| fail "workflow does not disable Python bytecode" || fail "workflow does not disable Python bytecode"
grep -Fq 'python3 -m venv .venv' "$project_root/.github/workflows/deployment.yml" \
|| fail "workflow does not install the real harness CLI before backend integration tests"
grep -Fq '.venv/bin/python -m pip install -e .' "$project_root/.github/workflows/deployment.yml" \
|| fail "workflow does not install the harness package into its canonical virtual environment"
grep -Fq 'export PYTHONDONTWRITEBYTECODE=1' "$project_root/scripts/verify-schema-v3-only-release.sh" \ grep -Fq 'export PYTHONDONTWRITEBYTECODE=1' "$project_root/scripts/verify-schema-v3-only-release.sh" \
|| fail "release wrapper does not disable Python bytecode" || fail "release wrapper does not disable Python bytecode"
release_plan="$($gate_bash "$project_root/scripts/verify-schema-v3-only-release.sh" --dry-run)" release_plan="$($gate_bash "$project_root/scripts/verify-schema-v3-only-release.sh" --dry-run)"
+3
View File
@@ -142,10 +142,12 @@ try {
$piAuth = Join-Path $fixtureRoot "Pi Auth/pi-auth.json" $piAuth = Join-Path $fixtureRoot "Pi Auth/pi-auth.json"
$secrets = Join-Path $fixtureRoot "Secrets/thothii.secrets" $secrets = Join-Path $fixtureRoot "Secrets/thothii.secrets"
$authConfigRoot = Join-Path $fixtureRoot "Auth Config"
$secretValue = "windows-contract-$runId" $secretValue = "windows-contract-$runId"
$script:SensitiveValues.Add($secretValue) $script:SensitiveValues.Add($secretValue)
Write-Utf8File $piAuth "{}`n" Write-Utf8File $piAuth "{}`n"
Write-Utf8File $secrets "THT_MODEL_API_KEY=$secretValue`n" Write-Utf8File $secrets "THT_MODEL_API_KEY=$secretValue`n"
[System.IO.Directory]::CreateDirectory($authConfigRoot) | Out-Null
$remote = Join-Path $fixtureRoot "Workspace Remote/remote.git" $remote = Join-Path $fixtureRoot "Workspace Remote/remote.git"
$seed = Join-Path $fixtureRoot "Workspace Seed" $seed = Join-Path $fixtureRoot "Workspace Seed"
@@ -190,6 +192,7 @@ THOTH_HTTP_PORT=0
THOTH_CORE_HTTP_PORT=0 THOTH_CORE_HTTP_PORT=0
PI_AUTH_FILE=$piAuth PI_AUTH_FILE=$piAuth
THT_SECRETS_FILE=$secrets THT_SECRETS_FILE=$secrets
THT_AUTH_CONFIG_ROOT=$authConfigRoot
THT_WORKSPACE_GIT_REMOTE=/fixtures/remote.git THT_WORKSPACE_GIT_REMOTE=/fixtures/remote.git
THT_WORKSPACE_GIT_BRANCH=main THT_WORKSPACE_GIT_BRANCH=main
THT_WORKSPACE_INSTALLATION_ID=task13-windows THT_WORKSPACE_INSTALLATION_ID=task13-windows