[
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)