diff --git a/.github/workflows/configurator-release.yml b/.github/workflows/configurator-release.yml index 565cbf6..55fb947 100644 --- a/.github/workflows/configurator-release.yml +++ b/.github/workflows/configurator-release.yml @@ -92,7 +92,7 @@ jobs: - name: Verify source templates match the release catalogue working-directory: landing-zone-configurator/tools/hcl-adapter run: | - go test ./... + go test -count=1 ./... go run . -check go run . -variables-source ../../../src/variables.tf -output ../../docs/accelerator-inputs.json -check go run . -variables-source ../../../src/variables.tf -output ../../app/packages/domain/src/accelerator-inputs.json -check @@ -198,7 +198,7 @@ jobs: actions: read contents: read runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 45 environment: name: lzc-dev-release url: https://lzc-dev-configurator.apps.01.cf.eu01.stackit.cloud diff --git a/.github/workflows/validate-configurator.yml b/.github/workflows/validate-configurator.yml index dbbcb1d..cbe96cc 100644 --- a/.github/workflows/validate-configurator.yml +++ b/.github/workflows/validate-configurator.yml @@ -57,7 +57,7 @@ jobs: npm run build:packages - name: Test HCL importer and exporter and verify catalogue freshness run: | - go test ./... + go test -count=1 ./... go run . -check go run . -variables-source ../../../src/variables.tf -output ../../docs/accelerator-inputs.json -check go run . -variables-source ../../../src/variables.tf -output ../../app/packages/domain/src/accelerator-inputs.json -check diff --git a/landing-zone-configurator/deploy/cloud-foundry/README.de.md b/landing-zone-configurator/deploy/cloud-foundry/README.de.md index a2365dc..6035270 100644 --- a/landing-zone-configurator/deploy/cloud-foundry/README.de.md +++ b/landing-zone-configurator/deploy/cloud-foundry/README.de.md @@ -307,6 +307,13 @@ Task-Status, bereinigte Diagnosen und öffentliche Health Checks liefern Release +Der Dev-Deployment-Job hat insgesamt 45 Minuten für Runner-Staging, +Datenbankmigrationen, App-Staging und die Prüfung kalter und vorgehaltener Runner. +Die Fristen einzelner Schritte gelten weiterhin. Die native Eingabeabdeckung +läuft bei PR-Prüfungen und Release-Builds mit `go test -count=1 ./...`, damit sie +den aktuellen Accelerator-Quellstand prüft und kein zwischengespeichertes +Testergebnis übernimmt. + ### Dev-Release ohne Live-Qualifikation des Assistant Bei Model-Serving-Ausfällen unter diff --git a/landing-zone-configurator/deploy/cloud-foundry/README.md b/landing-zone-configurator/deploy/cloud-foundry/README.md index 25044b3..64676ed 100644 --- a/landing-zone-configurator/deploy/cloud-foundry/README.md +++ b/landing-zone-configurator/deploy/cloud-foundry/README.md @@ -294,6 +294,12 @@ separate explicit operations, not part of application release validation. Raw CF logs are not exported to CI, since router URLs may contain OAuth codes. Task status, sanitized diagnostics and public health checks provide release evidence. +The Dev deployment job has a 45-minute total budget for Runner staging, database +migrations, application staging and the cold/warm Runner checks. Individual step +deadlines still apply. Native input coverage runs with `go test -count=1 ./...` +in both PR validation and release builds so it checks the current Accelerator +source rather than accepting a cached test result. + ### Dev release without live Assistant qualification During Model Serving outages, select diff --git a/landing-zone-configurator/tools/hcl-adapter/variables_test.go b/landing-zone-configurator/tools/hcl-adapter/variables_test.go index fcf8bf8..c37fc24 100644 --- a/landing-zone-configurator/tools/hcl-adapter/variables_test.go +++ b/landing-zone-configurator/tools/hcl-adapter/variables_test.go @@ -19,13 +19,17 @@ func TestCompleteRootVariableInventory(t *testing.T) { if err := json.Unmarshal(raw, &result); err != nil { t.Fatal(err) } - if len(result.Variables) != 29 { + if len(result.Variables) != 30 { t.Fatalf("review Accelerator feature coverage: %d inputs", len(result.Variables)) } variables := map[string]variableDefinition{} for _, variable := range result.Variables { variables[variable.Name] = variable } + bucketNaming, exists := variables["bucket_naming"] + if !exists || string(bucketNaming.Type) != `"string"` || string(bucketNaming.Default) != `"project-id"` || bucketNaming.Required || bucketNaming.Sensitive || len(bucketNaming.Validations) == 0 { + t.Fatal("project-qualified bucket naming metadata lost") + } namespace, exists := variables["platform_contract_namespace"] if !exists || string(namespace.Type) != `"string"` || namespace.Sensitive || len(namespace.Validations) == 0 { t.Fatal("platform contract namespace metadata lost")