WEB-1184: [CI/CD] Add a nightly Fineract drift canary - #3917
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Note
|
|
@devvaansh tell us if there is any dependency or blocker in order to be solved for moving the PR to ready for review |
@IOhacker still blocked on the dependency PR , it isn't open yet, I'll put it up this weekend and flip this to ready once it's in. |
Description
WEB-1180 (#3914) pins Fineract to an immutable digest, which fixes reproducibility — but a pin defers upgrade pain rather than removing it. Nothing notices when the pinned build falls behind upstream, so the cost surfaces all at once at the next manual bump, including the exact defect class that motivated the pin (a stretchy report shipped without its
stretchy_report_parameterrow, which surfaces as a 403 → failed route resolver → redirect to#/, nowhere near the spec that goes red).This adds
.github/workflows/e2e-nightly.yml— a scheduled job that deliberately runs the E2E suite against a moving tag, in a job that is allowed to fail, so drift is caught continuously instead of by accident inside someone's PR.Two signals from one run:
Playwright E2E's--retries=2has been masking it.To make signal 2 meaningful the canary runs with
--retries=0. Retries exist to keep PRs unblocked; here they'd hide the thing we're looking for.Design notes worth reviewing:
playwright.ymlusese2e-${{ github.ref }}withcancel-in-progress: true. A scheduled run and a push todevboth resolve torefs/heads/dev, so sharing that group would let the canary cancel the requiredPlaywright E2Echeck — or be cancelled by it. This usesgroup: e2e-nightly,cancel-in-progress: false.playwright.ymldeliberately. A canary that boots differently from the real job produces readiness failures that look like drift. The duplication is real and I'd rather not keep it — the natural place to fix it is the health-gate de-duplication work, which should fold this job in rather than leaving a fourth copy of the readiness ceremony.workflow_dispatchtakes afineract_imageinput so the override can be exercised manually rather than waiting for 02:00 UTC.Related issues and discussion
WEB-1184
Screenshots, if any
N/A — CI workflow addition, no UI surface.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
If you have multiple commits please combine them into one commit by squashing them.
Read and understood the contribution guidelines at
web-app/.github/CONTRIBUTING.md.