diff --git a/.github/workflows/helm-ci.yaml b/.github/workflows/helm-ci.yaml index eab03cd..64b72eb 100644 --- a/.github/workflows/helm-ci.yaml +++ b/.github/workflows/helm-ci.yaml @@ -98,6 +98,10 @@ jobs: - name: Validate release manifests run: | shopt -s nullglob + + current_chart_version="$(yq '.version' charts/governance-platform/Chart.yaml)" + matched_manifest="" + for manifest in releases/v*/release-manifest.yaml; do version="$(yq '.platform.version' "$manifest")" release_type="$(yq '.platform.releaseType' "$manifest")" @@ -131,14 +135,6 @@ jobs: ;; esac - for chart in auth-service governance-service governance-studio integrity-service governance-platform; do - chart_version="$(yq '.version' "charts/${chart}/Chart.yaml")" - if [ "$chart_version" != "$version" ]; then - echo "::error file=charts/${chart}/Chart.yaml::Expected chart version ${version}; found ${chart_version}" - exit 1 - fi - done - for image in authService governanceService governanceStudio integrityService; do tag="$(yq ".images.${image}.tag" "$manifest")" digest="$(yq ".images.${image}.digest" "$manifest")" @@ -151,8 +147,24 @@ jobs: exit 1 fi done + + if [ "$version" = "$current_chart_version" ]; then + matched_manifest="$manifest" + for chart in auth-service governance-service governance-studio integrity-service governance-platform; do + chart_version="$(yq '.version' "charts/${chart}/Chart.yaml")" + if [ "$chart_version" != "$version" ]; then + echo "::error file=charts/${chart}/Chart.yaml::Expected chart version ${version}; found ${chart_version}" + exit 1 + fi + done + fi done + if [ -z "$matched_manifest" ]; then + echo "::error::No release manifest found for current chart version ${current_chart_version} (expected releases/v${current_chart_version}/release-manifest.yaml)" + exit 1 + fi + - name: Prevent latest image tags in release-facing files run: | if grep -RIn --include='*.yaml' --include='*.yml' --include='*.md' ':latest' charts releases docs-site 2>/dev/null; then diff --git a/charts/auth-service/Chart.yaml b/charts/auth-service/Chart.yaml index 10488f4..64db2ba 100644 --- a/charts/auth-service/Chart.yaml +++ b/charts/auth-service/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: auth-service description: A Helm chart for deploying the EQTY Lab Auth Service - the authentication and authorization backbone type: application -version: 0.1.0 -appVersion: "0.1.0" +version: 0.2.0 +appVersion: "0.2.0" home: https://github.com/eqtylab/governance-studio-infrastructure sources: - https://github.com/eqtylab/governance-studio-infrastructure/tree/main/charts/auth-service diff --git a/charts/governance-platform/Chart.lock b/charts/governance-platform/Chart.lock index 33aee6a..3cd1417 100644 --- a/charts/governance-platform/Chart.lock +++ b/charts/governance-platform/Chart.lock @@ -1,18 +1,18 @@ dependencies: - name: auth-service repository: file://../auth-service - version: 0.1.0 + version: 0.2.0 - name: governance-service repository: file://../governance-service - version: 0.1.0 + version: 0.2.0 - name: governance-studio repository: file://../governance-studio - version: 0.1.0 + version: 0.2.0 - name: integrity-service repository: file://../integrity-service - version: 0.1.0 + version: 0.2.0 - name: postgresql repository: https://charts.bitnami.com/bitnami version: 18.1.15 -digest: sha256:a8bc86d5705b71e6133900419be04522833ddc6358c880a87bd2e32ad53eea36 -generated: "2026-05-19T17:13:25.396900616Z" +digest: sha256:f8d7827e25af942ea94c44d7fffbbb439303b88621adab0cc671e4ce9c0e63e4 +generated: "2026-05-22T18:33:35.896819943Z" diff --git a/charts/governance-platform/Chart.yaml b/charts/governance-platform/Chart.yaml index ecb8db3..fc12379 100644 --- a/charts/governance-platform/Chart.yaml +++ b/charts/governance-platform/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: governance-platform description: A Helm chart for the complete Governance Studio platform. type: application -version: 0.1.0 -appVersion: "0.1.0" +version: 0.2.0 +appVersion: "0.2.0" home: https://github.com/eqtylab/governance-studio-infrastructure sources: - https://github.com/eqtylab/governance-studio-infrastructure/tree/main/charts/governance-platform @@ -13,22 +13,22 @@ maintainers: dependencies: # Auth Service - name: auth-service - version: "0.1.0" + version: "0.2.0" repository: "file://../auth-service" condition: auth-service.enabled # Governance Service API - name: governance-service - version: "0.1.0" + version: "0.2.0" repository: "file://../governance-service" condition: governance-service.enabled # Governance Studio UI - name: governance-studio - version: "0.1.0" + version: "0.2.0" repository: "file://../governance-studio" condition: governance-studio.enabled # Integrity Service - name: integrity-service - version: "0.1.0" + version: "0.2.0" repository: "file://../integrity-service" condition: integrity-service.enabled # PostgreSQL - used by auth-service, governance-service, and integrity-service diff --git a/charts/governance-service/Chart.yaml b/charts/governance-service/Chart.yaml index 64ae59b..e4e9c4a 100644 --- a/charts/governance-service/Chart.yaml +++ b/charts/governance-service/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: governance-service description: A Helm chart for deploying the EQTY Lab Governance Service - core backend API for governance workflows and policy management type: application -version: 0.1.0 -appVersion: "0.1.0" +version: 0.2.0 +appVersion: "0.2.0" home: https://github.com/eqtylab/governance-studio-infrastructure sources: - https://github.com/eqtylab/governance-studio-infrastructure/tree/main/charts/governance-service diff --git a/charts/governance-studio/Chart.yaml b/charts/governance-studio/Chart.yaml index d870eb7..62f5a6b 100644 --- a/charts/governance-studio/Chart.yaml +++ b/charts/governance-studio/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: governance-studio description: A Helm chart for deploying the EQTY Lab Governance Studio UI - frontend application for the Governance Platform type: application -version: 0.1.0 -appVersion: "0.1.0" +version: 0.2.0 +appVersion: "0.2.0" home: https://github.com/eqtylab/governance-studio-infrastructure sources: - https://github.com/eqtylab/governance-studio-infrastructure/tree/main/charts/governance-studio diff --git a/charts/integrity-service/Chart.yaml b/charts/integrity-service/Chart.yaml index faf3eb4..a1f1f46 100644 --- a/charts/integrity-service/Chart.yaml +++ b/charts/integrity-service/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: integrity-service description: A Helm chart for deploying the EQTY Lab Integrity Service - backend API for data lineage, provenance, and integrity verification type: application -version: 0.1.0 -appVersion: "0.1.0" +version: 0.2.0 +appVersion: "0.2.0" home: https://github.com/eqtylab/governance-studio-infrastructure sources: - https://github.com/eqtylab/governance-studio-infrastructure/tree/main/charts/integrity-service diff --git a/releases/v0.2.0/release-manifest.yaml b/releases/v0.2.0/release-manifest.yaml new file mode 100644 index 0000000..af7d065 --- /dev/null +++ b/releases/v0.2.0/release-manifest.yaml @@ -0,0 +1,85 @@ +platform: + name: governance-platform + version: 0.2.0 + releaseType: prerelease + releaseDate: "2026-05-22" + kubernetesMinimumVersion: "1.29" + architecture: linux/amd64 +sources: + governanceStudio: + repository: eqtylab/governance-studio + ref: b2449717e1fef8943d98f6f369d9d0aeb95a6f9d + governanceBackend: + repository: eqtylab/governance-backend + ref: 408156b7b497e02541ac42c648f7f8f432b19cd8 + integrityMonorepo: + repository: eqtylab/integrity-monorepo + ref: 0d1d76e36550da7b564d224bdbf42fae536ac384 + infrastructure: + repository: eqtylab/governance-studio-infrastructure + ref: "aea00ce5a3b4b3cc842558425bdb5b57a2d4e9ba" +images: + authService: + repository: ghcr.io/eqtylab/auth-service + tag: 0.2.0 + digest: "sha256:1adc477d4670846dad7dbc5b6b301e8407ec8ce9a6a62de87d8fce6e33b653c1" + sourceSha: "408156b7b497e02541ac42c648f7f8f432b19cd8" + metadataArtifact: image-metadata-auth-service + governanceService: + repository: ghcr.io/eqtylab/governance-service + tag: 0.2.0 + digest: "sha256:144c14a6028ae65cf0a406c5be452e7a8ebc62b9105ddd15d3064ecb2a7ac58d" + sourceSha: "408156b7b497e02541ac42c648f7f8f432b19cd8" + metadataArtifact: image-metadata-governance-service + governanceStudio: + repository: ghcr.io/eqtylab/governance-studio + tag: 0.2.0 + digest: "sha256:c432d56d3d841ec8c2a2613d7225b6db619b3b5e0b360f1d9836008adad1f973" + sourceSha: "b2449717e1fef8943d98f6f369d9d0aeb95a6f9d" + metadataArtifact: image-metadata-governance-studio + integrityService: + repository: ghcr.io/eqtylab/integrity-service + tag: 0.2.0 + digest: "sha256:d78dc3b68a346bd191f84b8a29cdbaab0783a197c29aad389a58bac89cbf8917" + sourceSha: "0d1d76e36550da7b564d224bdbf42fae536ac384" + metadataArtifact: image-metadata-integrity-service +charts: + authService: + name: auth-service + version: 0.2.0 + oci: oci://ghcr.io/eqtylab/charts/auth-service + governanceService: + name: governance-service + version: 0.2.0 + oci: oci://ghcr.io/eqtylab/charts/governance-service + governanceStudio: + name: governance-studio + version: 0.2.0 + oci: oci://ghcr.io/eqtylab/charts/governance-studio + integrityService: + name: integrity-service + version: 0.2.0 + oci: oci://ghcr.io/eqtylab/charts/integrity-service + governancePlatform: + name: governance-platform + version: 0.2.0 + oci: oci://ghcr.io/eqtylab/charts/governance-platform +validation: + required: true + mode: manual + identityProvider: keycloak + database: external-postgres + evidence: + status: approved + recordedIn: infrastructure-release-pr + reviewer: "tmccoy14" + reviewedAt: "2026-05-22T17:40:33Z" + notes: + "Validated governance-platform v0.2.0 in a customer-like environment with Keycloak and external + Postgres. Confirmed pod readiness, service health, Studio load, login flow, and image pulls." +docs: + provider: readme + version: v0.2.0 + state: beta + default: false + sourceRepository: eqtylab/deployment