[ 
https://issues.apache.org/jira/browse/UNOMI-937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18083031#comment-18083031
 ] 

Serge Huber commented on UNOMI-937:
-----------------------------------

Git/stack order: A-1 merges before Docker ES (#759). In UI: link type 
{_}Blocker{_}, outward _blocks_ UNOMI-921.

> Stabilize integration tests and align GitHub Actions with build.sh
> ------------------------------------------------------------------
>
>                 Key: UNOMI-937
>                 URL: https://issues.apache.org/jira/browse/UNOMI-937
>             Project: Apache Unomi
>          Issue Type: Sub-task
>          Components: build
>    Affects Versions: unomi-3.1.0
>            Reporter: Serge Huber
>            Assignee: Serge Huber
>            Priority: Major
>              Labels: ci,, integration-tests
>             Fix For: unomi-3.1.0
>
>
> h2. Summary
> Reduce integration-test flakiness in CI and align GitHub Actions with the 
> developer \{{build.sh}} workflow, so the Git Town stack (#754+) inherits 
> stable ITs before Docker-based Elasticsearch lands in UNOMI-921.
> h2. Problem
> * CI intermittently fails on timing-sensitive ITs (e.g. \{{GraphQLListIT}}, 
> \{{PatchIT}}) while local \{{./build.sh}} runs are more reliable.
> * GitHub Actions invoke raw \{{mvn}} with different flags/caching than 
> \{{build.sh}}, so CI and local dev diverge.
> * Planned stack work (UNOMI-921 / PR #759) should stay limited to Docker ES 
> in \{{itests/pom.xml}}; hardening and CI alignment belong in a separate 
> change merged first.
> h2. Scope
> h3. Integration test hardening (\{{itests/}})
> * Replace fixed \{{Thread.sleep}} with \{{keepTrying}} polling where 
> appropriate (pattern from \{{GraphQLEventIT}}).
> * \{{GraphQLListIT}} — wait for list/query results instead of fixed delay.
> * \{{PatchIT}} — poll after \{{definitionsService.refresh()}} before 
> asserting patch state.
> * \{{BaseIT}} — shared helpers for profile/event assertions after async rule 
> execution where useful.
> * \{{IncrementPropertyIT}}, \{{PropertiesUpdateActionIT}} — poll for profile 
> updates instead of relying on a single \{{eventService.send()}} return.
> h3. \{{build.sh}} CI mode
> * Non-interactive operation when \{{CI}}, \{{GITHUB_ACTIONS}}, or \{{--ci}} 
> is set.
> * Support \{{MAVEN_EXTRA_OPTS}} for matrix-specific JVM/port overrides.
> * Document/use \{{--no-maven-cache}} for IT jobs where stale SNAPSHOT cache 
> causes false failures.
> h3. GitHub Actions (\{{.github/workflows/unomi-ci-build-tests.yml}})
> * Unit and integration-test jobs invoke \{{./build.sh}} with flags aligned to 
> local dev (e.g. \{{--ci}}, \{{--no-karaf}}, \{{--no-maven-cache}}, 
> \{{--integration-tests}}, \{{--use-opensearch}} per matrix).
> * Keep existing prerequisites (e.g. Graphviz) unchanged.
> h2. Out of scope
> * Docker Elasticsearch migration — 
> [UNOMI-921|https://issues.apache.org/jira/browse/UNOMI-921] / PR #759.
> * Progress-aware IT runner — 
> [UNOMI-912|https://issues.apache.org/jira/browse/UNOMI-912].
> * Phase T \{{AllITs}} registration / \{{HealthCheckIT}} ordering.
> * Platform production fixes (UNOMI-139 stack / PR #760).
> h2. Acceptance criteria
> * \{{build.sh --ci}} runs non-interactively in GitHub Actions without prompts.
> * CI unit and IT workflows use \{{./build.sh}} with documented flags; 
> behavior matches local documented invocations.
> * Target flaky ITs use polling/\{{keepTrying}} instead of fixed sleeps for 
> the scenarios listed above.
> * IT matrix (OpenSearch + Elasticsearch) passes on the A-1 branch PR; stack 
> can rebase UNOMI-921 on top without duplicating hardening commits.
> * No change to \{{itests/pom.xml}} Elasticsearch Docker profile (reserved for 
> UNOMI-921).
> h2. Implementation notes (for PR branch)
> * Branch (planned): \{{UNOMI-<KEY>-itests-hardening-ci}} off \{{master}}.
> * Git Town stack: merge this PR before rebasing 
> \{{UNOMI-921-itests-es-docker}} / PR #759 onto it.
> * Tracker: \{{.local-notes/old-PR-757-now-760-stack-extraction-tracker.md}} 
> (Phase A-1 + A0 split).
> h2. References
> * [UNOMI-921|https://issues.apache.org/jira/browse/UNOMI-921] — blocked until 
> this issue is merged (stack order).
> * [UNOMI-892|https://issues.apache.org/jira/browse/UNOMI-892] — Maven build 
> cache / CI performance.
> * [UNOMI-875|https://issues.apache.org/jira/browse/UNOMI-875] — Unomi Version 
> 3 parent.
> * GitHub PR #759 (Docker ES) — stacks on A-1 branch after this ticket exists.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to