Repository navigation
[OPENJPA-3011] Run the other dictionaries on a schedule - #209
Conversation
The pull request build covers Derby and H2 only, so a defect that is invisible on those two reaches master and is found when a committer runs another database by hand: a JPQL LIKE pattern matched only on Derby for several releases (OPENJPA-3009) and six tests asserted the SQL shape Derby and H2 emit (OPENJPA-3010). Run the existing MySQL, MariaDB and PostgreSQL docker profiles weekly instead, and on demand. The docker-maven-plugin declarations in those profiles carry configuration but no executions, so nothing starts a container during an ordinary build; the servers come from service containers with health checks, with the credentials the respective profile expects. One job per database, because MySQL and MariaDB both listen on 3306 and a service container cannot be selected per matrix entry. A scheduled run on an unchanged tree would only repeat the previous one, so it is skipped unless something was committed within the week, and a scheduled run is refused on any branch but the default one. A manual run always proceeds, so a risky change can be tried on its own branch before it lands.
|
this new job failed with: I believe we need to add some sort of email notification in case of failures ..... |
|
Both tracked:
On the run (38204987477): MySQL passed, PostgreSQL had one failure in So there are two things to fix, and the second matters regardless of the first — a failing test should not take the rest of the suite with it. I am looking at both, including whether |
|
thanks a lot :) |
Following up on @solomax suggestion in #207: the pull request build covers Derby and H2 only, so a defect invisible on those two reaches master and is found when someone runs another database by hand. Two recent cases — a JPQL
LIKEpattern that matched only on Derby for several releases (OPENJPA-3009) and six tests asserting the SQL shape Derby and H2 emit (OPENJPA-3010, your MySQL report).This adds a
Databasesworkflow running the existingtest-mysql-docker,test-mariadb-dockerandtest-postgresql-dockerprofiles weekly (Mondays 04:17 UTC) plusworkflow_dispatchfor use before a risky merge. It is separate frompr-validation.yml, so it never blocks a pull request.Two implementation notes: the
docker-maven-plugindeclarations in those profiles carry configuration but no executions, so nothing starts a container during an ordinary build — the servers therefore come from Actions service containers with health checks, using the credentials each profile already expects. And it is one job per database rather than a matrix, because MySQL and MariaDB both listen on 3306 and a service container cannot be selected per matrix entry.I verified locally that each profile connects to a container started with exactly these service settings (MySQL needed no extra
GRANT, which my earlier manual runs did). Java 21 only, to keep the weekly cost down — happy to add 17 if you would rather mirror the PR matrix. Expect the first scheduled run to be red until #208 lands, sincetestLikeExprstill fails on the MySQL family on master.