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

ASF subversion and git services commented on OPENJPA-3011:
----------------------------------------------------------

Commit 023836e4d037d12c7bf39574d32bac0b39daef98 in openjpa's branch 
refs/heads/tck-mysql from Richard Zowalla
[ https://gitbox.apache.org/repos/asf?p=openjpa.git;h=023836e4d ]

[OPENJPA-3011] Run the other dictionaries on a schedule

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.


> Run the MySQL, MariaDB and PostgreSQL profiles on a schedule in CI
> ------------------------------------------------------------------
>
>                 Key: OPENJPA-3011
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-3011
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: jpa
>            Reporter: Richard Zowalla
>            Assignee: Richard Zowalla
>            Priority: Major
>             Fix For: 4.2.0
>
>
> The GitHub Actions matrix runs only the test-derby and test-h2 profiles, so 
> nothing on a pull request exercises MySQL, MariaDB or PostgreSQL. Defects 
> that are invisible on Derby and H2 therefore reach master and are only found 
> when a committer runs another database by hand.
> Two recent examples, both found that way rather than by CI:
> * OPENJPA-3010 - six tests asserted the SQL shape Derby and H2 emit; MySQL 
> and MariaDB render an unqualified bulk delete as "DELETE t0 FROM T t0" and 
> MySQL delimits the reserved map key column instead of renaming it, so a full 
> MySQL run failed (reported by Maxim Solodovnik while running the TCK).
> * OPENJPA-3009 - a JPQL LIKE whose pattern contains a backslash matched only 
> on Derby, on every release; the H2 failure had been treated as flakiness for 
> a long time.
> Proposal: add a scheduled workflow that runs the existing docker profiles 
> weekly, separate from pr-validation.yml so it never blocks a pull request. 
> The pom already carries test-mysql-docker, test-mariadb-docker and 
> test-postgresql-docker profiles with the connection properties pointing at 
> localhost, so the workflow only has to provide the servers. The 
> docker-maven-plugin declarations in those profiles have configuration but no 
> executions, i.e. nothing starts a container during an ordinary build, so 
> GitHub Actions service containers with health checks are the natural fit.
> One job per database keeps it simple and avoids the port clash between MySQL 
> and MariaDB, which both default to 3306. A manual trigger (workflow_dispatch) 
> in addition to the schedule makes it usable before a risky merge.
> Credentials the profiles expect: MySQL database openjpatst with user and 
> password openjpatst; MariaDB database openjpatst with root password 
> openjpatst; PostgreSQL database openjpatst with user and password postgres.



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

Reply via email to