[
https://issues.apache.org/jira/browse/OPENJPA-3011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18125431#comment-18125431
]
ASF subversion and git services commented on OPENJPA-3011:
----------------------------------------------------------
Commit 023836e4d037d12c7bf39574d32bac0b39daef98 in openjpa's branch
refs/heads/master 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
> Priority: Major
>
> 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)