Commit Graph

33 Commits

Author SHA1 Message Date
Mihir Kandoi
6be6bf2929 ci: fall back to develop when frappe has no matching branch (#57693)
* ci: fall back to develop when frappe has no matching branch

The frappe branch to install is taken from the pull request's base branch. A
stacked pull request targets another erpnext branch, so the clone fails with
"couldn't find remote ref", no bench is installed, and every job that needs one
fails with it.

Fall back to develop when the base branch does not exist in frappe. An explicit
FRAPPE_BRANCH is left alone, since it can be a commit sha rather than a branch.

* ci: only fall back when frappe is known to lack the branch

git ls-remote --exit-code reports 2 for a branch that is not there and 128 for a
remote it could not reach. Treating both as absence let a transient network or
DNS failure install develop over the branch the pull request was built against.

Fall back on 2 alone and log anything else, so a flaky probe leaves the branch
as it was.
2026-08-01 09:38:14 +00:00
Mihir Kandoi
b93a3bca16 ci(postgres): fail setup if pg_ctl stop fails before baking the datadir
The "Stop DB and stage datadir" step swallowed a failed `pg_ctl -m fast -w
stop` with `|| true`, then moved and tarred the PGDATA regardless. A stop
that times out or errors would bake a still-running, crash-inconsistent
cluster into the artifact every test shard consumes — and with
full_page_writes off, crash recovery can't repair torn pages. Drop the
`|| true` so a failed stop fails the job, mirroring the MariaDB sister's
"don't bake a dirty datadir" guard.

Also drop the redundant `ALTER SYSTEM SET fsync/synchronous_commit/
full_page_writes = off` block from install.sh. Its comment claimed the
postgres workflow "runs a service-container DB and never calls start-db.sh",
but it does call start-db.sh, which already applies those flags via `-o` on
every postgres start (setup job and each shard). The block was a no-op and
its justification was factually wrong.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 21:29:22 +05:30
Mihir Kandoi
368ea75e38 ci: address self-review findings
- Wire up warm-bench: set BENCH_CACHE_DIR on the setup job so the bench-base
  cache actually activates (was inert with no dir set, so every run did a
  full bench init). Lives on the node-local bench-staging hostPath; any
  miss/failure still falls back to a full init.
- run_ci_step: capture the timeout exit code under `set -e` (the previous
  `timeout ...` + `ec=$?` aborted at the timeout line on failure, skipping
  ::endgroup:: and the exit-code return).
- Raise the per-step timeout 600s -> 1800s so a contended reinstall isn't
  killed before the 40-min job timeout.
- Propagate DB through the su re-exec in start-db.sh / hydrate.sh so a
  DB=postgres invocation can't silently fall back to the mariadb branch.
- Simplify the coverage job `if` to the equivalent plain non-PR gate.
2026-06-25 13:24:15 +05:30
Mihir Kandoi
beec05ce1c ci: restore postgres durability-off settings in install.sh
The fan-out moved fsync/synchronous_commit/full_page_writes=off into
start-db.sh startup flags, but the Postgres workflow runs a postgres:13.3
service container and calls install.sh directly — it never runs start-db.sh.
So those flags never reached the Postgres CI, regressing it to full durability
on a commit-heavy suite. Re-apply them via ALTER SYSTEM (reloadable) in the
DB == "postgres" path, where the service-container workflow executes. MariaDB
is unaffected (DB != postgres).
2026-06-25 12:03:07 +05:30
Mihir Kandoi
eae05f1907 ci: wait_for_redis fail-fast (greptile) 2026-06-24 12:37:48 +05:30
Mihir Kandoi
62c401badc ci(mariadb): revert to 4 shards + cleanup 2026-06-24 11:54:50 +05:30
Mihir Kandoi
3b8674a4a9 ci(mariadb): self-hosted fan-out CI (ARC runners, datadir bake, 8 shards) 2026-06-24 11:19:58 +05:30
Mihir Kandoi
a46a6bf921 ci: speed up Postgres CI by disabling DB durability for the disposable test DB
Postgres fsyncs on every commit by default, which dominates a commit-heavy test suite.
Turn off synchronous_commit/fsync/full_page_writes on the throwaway CI database (reload-
time settings, no restart). MariaDB CI is unaffected (DB != postgres).
2026-06-21 16:19:52 +05:30
Mihir Kandoi
a3e3e1b32c ci: optimize install helper setup
Cc: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 16:50:50 +05:30
Faris Ansari
495bf4b765 chore: set correct payments app branch 2025-06-21 16:50:59 +05:30
Sagar Vora
25623325ce ci: use mysqlclient in tests 2025-03-15 09:48:40 +05:30
ruthra kumar
eb1e36ca22 fix: broken CI
- always install wkhtmltopdf
- remove specific version on mariadb-client
2024-12-16 16:27:13 +05:30
David
2f747a274f ci: trigger ci runs from upstream fix 2024-10-24 14:26:55 +02:00
Akhil Narang
4a6108e912 fix: use mariadb instead of mysql
Drop mysql-client in favour of mariadb-client

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
2023-10-11 11:17:47 +05:30
Ankush Menat
2f7b3bbfad ci: fix patch test (#37079)
* ci: fix patch test

* ci: use v13 DB as starting point for patch

* ci: remove payments from patch test

* ci: print bench logs after tests

* ci: restart bench on each update

* ci: patch test v13db > v14 > develop

and when v15 is out v13db > v14 > v15 > develop
2023-09-14 14:46:45 +05:30
mergify[bot]
bd2dd7dfac ci: use version specific payments repo (backport #34468) (#34470)
ci: use version specific payments repo (#34468)

ci: use version-14 branch of payments repo for v14 erpnext
(cherry picked from commit befd1a0f91)

Co-authored-by: Ritwik Puri <ritwikpuri5678@gmail.com>
2023-03-16 16:20:21 +05:30
Raffael Meyer
a4cb0313dd chore: test with wkhtmltopdf 12.6 (#33554)
* chore: test with latest wkhtmltopdf

* chore: check ubuntu version

* ci: check exit code of wk install

Co-authored-by: Ankush Menat <ankush@frappe.io>
2023-01-09 14:27:34 +05:30
Ankush Menat
d23b5d8f2f ci: use mariadb 10.6 (#33220)
https://github.com/frappe/frappe/pull/19116

[skip ci]
2022-12-06 12:58:07 +05:30
Suraj Shetty
273c6ff598 Merge pull request #31690 from phot0n/fix-payments-stuff 2022-07-27 14:37:15 +05:30
phot0n
76493e928f ci: update install script and patch workflow to accomodate payments app 2022-07-27 12:21:48 +05:30
Gavin D'souza
b07dd1083a ci: Check for conflicts & valid python in early separate step 2022-07-25 11:54:49 +05:30
Ankush Menat
c7efa3b44d ci: stale apt cache (#31217) 2022-06-02 12:27:11 +05:30
Ankush Menat
3ae9fa98c4 ci: failfast when merge conflict exists (#30823)
[skip ci]
2022-04-27 14:33:26 +05:30
Ankush Menat
229db14b7e ci: move some tasks to background
- wkhtml download
- asset building
2022-02-17 16:16:53 +05:30
Ankush Menat
6f2c9c692c ci: workflow dispatch options (#29611) 2022-02-03 17:30:42 +05:30
Conor
d2074b16db ci: postgres unittests configurations (#28952)
Co-authored-by: Ankush Menat <ankush@frappe.io>
2022-01-02 23:33:10 +05:30
Ankush Menat
92c0dcc3ea ci: install dev requirements in CI 2021-10-20 19:09:57 +05:30
Ankush Menat
e5e00700e5 ci: use node action instead of apt (#27220) 2021-08-30 12:07:11 +05:30
Ankush Menat
203c2b2292 ci: show bench logs if ui test fails 2021-07-12 10:09:50 +05:30
Suraj Shetty
e8e4841e5e ci: Build frappe assets
- Build frappe assets since it is used for print views
2021-06-17 20:23:18 +05:30
Sagar Vora
19bb8c1137 ci: get branch name from GITHUB_REF if GITHUB_BASE_REF not available (#24913) 2021-03-17 20:03:54 +05:30
Mohammad Hasnain Mohsin Rajan
46d5431bad fix: Github Action not failing when tests fail (#24867)
Co-authored-by: Sagar Vora <sagar@resilient.tech>
2021-03-15 11:17:19 +05:30
Mohammad Hasnain Mohsin Rajan
0f60f08f3e ci: Port CI test from Travis to Github Actions (#24846) 2021-03-12 14:09:52 +05:30