ci: add Harness CI pipeline (FME-17651) - #630
Open
sanzmauro wants to merge 16 commits into
Open
Conversation
Migrates .github/workflows/ci.yml to Harness pipeline. Matrix: Ruby 2.5.0 + 3.2.2, Redis, SonarQube on 3.2.2. AI-Session-Id: 9153b465-d572-4ac3-be0e-961ad258c1e0 AI-Tool: claude-code AI-Model: unknown
- Add RVM sourcing to Fix Coverage Paths step to ensure Ruby is available - Change Post Quality Gate step shell from Sh to Bash for proper script semantics AI-Session-Id: 9153b465-d572-4ac3-be0e-961ad258c1e0 AI-Tool: claude-code AI-Model: unknown
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
Replace RVM-based Ruby install with official ruby:<version> container images per matrix version. Redis runs as a Background container step. SonarQube uses sonarsource/sonar-scanner-cli:latest image. Simplifies pipeline: no apt-get, no RVM, no Java setup needed. AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
…ages AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
…stubs - Wrap SPLITCLIENT_ENV='prod' in sync_manager_spec with ensure block so env is always reset even if the test raises, preventing thread leaks into subsequent specs - Add rbSince=-1 to two splitChanges stubs in split_manager_spec that were missing the parameter added in the rbs-old-spec feature - Add Redis readiness check step in Harness pipeline before running tests AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
…ssertions
Redis smembers returns set members in non-deterministic order, making
index-based impression assertions for :testing and :testing222 flaky.
Replace with find { |i| i[:split_name] == :X } in all four affected
flag_set/flag_sets impression test blocks.
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad
AI-Tool: claude-code
AI-Model: unknown
The 'processing split iff update event' test was flaky because process_subsystem_ready fires sync_all async after SSE connect, which could fetch splits_push3 (adding push_test) before the SPLIT_UPDATE SSE event arrived with the inline bilal_split payload. Replace the since=1585948850110 stub with a no-change response (till == since) so the background sync never advances changeNumber past pcn, ensuring the inline update path always succeeds. AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
…exing SonarQube was failing with 'File can\''t be indexed twice' because sonar.sources=. included spec/ in main sources while SonarQube also auto-detected spec/ as test files. Scoping sources to lib/ and explicitly declaring spec/ as tests resolves the conflict. AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
|
gthea
approved these changes
Jul 28, 2026
AI-Session-Id: 9a0ab88e-2949-4146-8ca0-48dd019332ad AI-Tool: claude-code AI-Model: unknown
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
.github/workflows/ci.ymlto Harness CI pipeline at.harness/pipeline.yamlmisefor Ruby install on Cloud runnersapt-get, SonarQube scan + quality gate on Ruby 3.2.2 onlyPROD/ projectHarness_Splitviafmegithubharnessgitopsconnector