Skip to content

Comments

fix: harden extraConfig validation and enforce CI/integration coverage#132

Merged
tazarov merged 3 commits intomainfrom
codex/issue-127-extra-config-ci
Feb 17, 2026
Merged

fix: harden extraConfig validation and enforce CI/integration coverage#132
tazarov merged 3 commits intomainfrom
codex/issue-127-extra-config-ci

Conversation

@tazarov
Copy link
Contributor

@tazarov tazarov commented Feb 17, 2026

Summary

  • add chromadb.extraConfig type validation (map/object only) before merge in template helper
  • harden tests/test_v1_config.sh to fail if v1-config is missing and add scalar extraConfig rejection coverage
  • run tests/test_v1_config.sh in PR CI (lint.yml) with hardened yq install (strict shell, version pinning, smoke test)
  • extend integration workflow to validate injected extraConfig keys in live v1-config for 1.5.0
  • harden integration workflow shell flags and debug-step behavior

Validation

  • bash tests/test_v1_config.sh (59 passed, 0 failed)
  • workflow YAML parsing sanity check for lint.yml and integration-test.yml

Closes #127

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds type validation for the chromadb.extraConfig Helm value (introduced to address issue #127) and strengthens CI/integration test coverage to verify that extraConfig values are correctly injected into the v1-config ConfigMap. The PR hardens test scripts with better error handling and adds comprehensive test coverage for scalar/list rejection scenarios.

Changes:

  • Added map/object type validation for chromadb.extraConfig in the Helm template helper to prevent invalid configurations
  • Enhanced test script to validate v1-config existence and reject invalid extraConfig types (scalars/lists)
  • Added CI workflow steps to install yq via Go and run v1 config template tests during linting
  • Extended integration tests to validate extraConfig keys in live v1-config for ChromaDB 1.5.0

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
charts/chromadb-chart/templates/_helpers.tpl Added type validation to ensure extraConfig is a map/object before merging
tests/test_v1_config.sh Added v1-config existence check and test cases for extraConfig scalar/list rejection
tests/ci_smoke.sh New smoke test script that runs v1 config tests and validates extraConfig rendering
Makefile Added ci-smoke target for running smoke tests
.github/workflows/lint.yml Added yq installation and v1 config template test execution to lint workflow
.github/workflows/integration-test.yml Added extraConfig injection and validation for 1.5.0, hardened shell flags

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +38 to +50
- name: Install yq
run: |
set -euo pipefail
YQ_VERSION="v4.44.6"
GOBIN_DIR="$(mktemp -d)"
cleanup() {
rm -rf "${GOBIN_DIR}"
}
trap cleanup EXIT
GOBIN="${GOBIN_DIR}" go install "github.com/mikefarah/yq/v4@${YQ_VERSION}"
sudo install -m 0755 "${GOBIN_DIR}/yq" /usr/local/bin/yq
yq --version
Copy link

Copilot AI Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description mentions "checksum verification" for the yq installation, but no checksum verification is present in the actual implementation. Consider adding checksum verification for enhanced security, or update the PR description to accurately reflect what was implemented.

Copilot uses AI. Check for mistakes.
@tazarov tazarov merged commit d169471 into main Feb 17, 2026
14 checks passed
@tazarov tazarov deleted the codex/issue-127-extra-config-ci branch February 17, 2026 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENH] Add extraConfig escape hatch for v1-config ConfigMap

1 participant