Feat/regression testing system#128
Conversation
Moved regression-bug-fixes.yml and sonarcloud.yml to the private sonar-solutions/cloudvoyager-ci repo. This keeps SQ Enterprise license keys and SonarCloud tokens out of public GitHub Actions logs. Changes: - Remove sonarcloud.yml (now in private repo) - Disable regression-bug-fixes.yml auto-trigger (manual dispatch only) - Remove bug-fixes from regression.yml orchestrator - Harden setup-sonarqube action: add-mask for license key, never log API response body, pass license via env var The private repo syncs from this public repo every 15 minutes and runs the sensitive workflows with secrets visible only to org members. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- CHANGELOG.md: add Phase 1 regression testing entry with scenarios table - architecture.md: add regression testing architecture section with ASCII diagram - local-development.md: add regression testing setup and local run guide - technical-details.md: add ephemeral SQ container architecture details - CONTRIBUTING.md: add regression test conventions for new bug fixes - design-review-regression-testing.md: mark as SHIPPED with PR #127 link Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
updated docs |
SummaryWhat changed: Implemented a regression testing system with 5 test scenarios (large projects, GitHub Actions language, external analyzers, issue sync, kill-and-resume) tested across all 4 supported SonarQube versions (9.9, 10.0, 10.4, 2025.1) = 20 matrix jobs. Each test spins up ephemeral Docker containers (SonarQube Enterprise + PostgreSQL), seeds realistic test data, runs CloudVoyager, and validates outcomes. Why: Prior bug fixes lacked automated verification that they remained correct across version upgrades and edge cases. This system catches regressions immediately. Security decision: Sensitive workflows (SQ Enterprise license keys, SonarCloud tokens) moved to private repo Code impact: Public repo changes are infrastructure-only — workflow restructuring, enhanced license injection with better error handling, and updated documentation. The actual test code (22 files: helpers, enrichment scripts, 5 assertion scripts, sample projects) was added in PR What reviewers should knowWhere to start:
Non-obvious decisions:
Things to watch:
|
Note
Medium Risk
Moderate risk because it changes CI behavior and secret handling: regression bug-fix tests are no longer run from this repo and SonarCloud scanning workflow is removed. Primary risk is reduced coverage/missed checks if the private repo workflow sync or secret configuration is incorrect.
Overview
CI secret handling is tightened by masking the SonarQube Enterprise license key in the
setup-sonarqubecomposite action and switching license injection to HTTP-status-based success checks without logging response bodies.Sensitive regression and scanning workflows are moved out of this public repo:
regression-bug-fixes.ymlis converted to manual-only (workflow_dispatch) and uses a singleSONARQUBE_LICENSE_KEYsecret, thebug-fixesjob is removed fromregression.yml, and the standalonesonarcloud.ymlworkflow is deleted.Docs are updated to describe the Phase 1 regression testing system and note that these workflows now run in the private
sonar-solutions/cloudvoyager-cirepo.Reviewed by Cursor Bugbot for commit 5bb8a86. Bugbot is set up for automated code reviews on this repo. Configure here.