Skip to content

Commit 76a5e92

Browse files
authored
Move database version profiles to individual client POMs (#1640)
* Move database version profiles to individual client POMs Relocate database-specific testing profiles from root pom.xml to individual client modules. CI now uses Maven's -pl/-am flags for targeted builds instead of profile-based module selection. This commit decentralizes the Maven profile configuration, moving it from a monolithic root POM to the individual database client modules. Some portions of this content were created with the assistance of Claude Code. Signed-off-by: Thomas Segismont <tsegismont@gmail.com> * Disable fail-fast in CI matrix Otherwise, we don't get information about a particular database type Signed-off-by: Thomas Segismont <tsegismont@gmail.com> * Skip MySQLTLSTest when testing MySQL 5.6 MySQL 5.6 only supports TLS 1.0/1.1 which are disabled in Java 11+ Signed-off-by: Thomas Segismont <tsegismont@gmail.com> * Make MSSQLRule work with all tested MSSQL versions Signed-off-by: Thomas Segismont <tsegismont@gmail.com> * Skip PostgreSQL 9 NULL type inference tests PostgreSQL 9 cannot infer types from NULL for BigDecimal, temporal types (LocalTime, OffsetTime, Temporal), and their array variants. Override these test methods to skip on PostgreSQL 9 using assumeTrue checks. Signed-off-by: Thomas Segismont <tsegismont@gmail.com> * Removed empty profiles block Signed-off-by: Thomas Segismont <tsegismont@gmail.com> --------- Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
1 parent 0244354 commit 76a5e92

File tree

14 files changed

+371
-240
lines changed

14 files changed

+371
-240
lines changed

.github/workflows/ci-4.x.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,62 +5,79 @@ on:
55
jobs:
66
CI:
77
strategy:
8+
fail-fast: false
89
matrix:
910
include:
1011
- os: ubuntu-latest
1112
jdk: 8
1213
profile: 'PostgreSQL-9'
14+
module: 'vertx-pg-client'
1315
- os: ubuntu-latest
1416
jdk: 8
1517
profile: 'PostgreSQL-10'
18+
module: 'vertx-pg-client'
1619
- os: ubuntu-latest
1720
jdk: 8
1821
profile: 'PostgreSQL-11'
22+
module: 'vertx-pg-client'
1923
- os: ubuntu-latest
2024
jdk: 8
2125
profile: 'MySQL-8.0'
26+
module: 'vertx-mysql-client'
2227
- os: ubuntu-latest
2328
jdk: 8
2429
profile: 'MySQL-5.6'
30+
module: 'vertx-mysql-client'
2531
- os: ubuntu-latest
2632
jdk: 8
2733
profile: 'MySQL-5.7'
34+
module: 'vertx-mysql-client'
2835
- os: ubuntu-latest
2936
jdk: 8
3037
profile: 'MariaDB-10.4'
38+
module: 'vertx-mysql-client'
3139
- os: ubuntu-latest
3240
jdk: 8
3341
profile: 'MSSQL-2017-latest'
42+
module: 'vertx-mssql-client'
3443
- os: ubuntu-latest
3544
jdk: 8
3645
profile: 'MSSQL-2019-latest'
46+
module: 'vertx-mssql-client'
3747
- os: ubuntu-latest
3848
jdk: 8
3949
profile: 'DB2-11.5'
50+
module: 'vertx-db2-client'
4051
- os: ubuntu-latest
4152
jdk: 8
42-
profile: 'SQL-templates'
53+
module: 'vertx-sql-client-templates'
4354
- os: ubuntu-latest
4455
jdk: 25
4556
profile: 'PostgreSQL-11'
57+
module: 'vertx-pg-client'
4658
- os: ubuntu-latest
4759
jdk: 25
4860
profile: 'MySQL-5.7'
61+
module: 'vertx-mysql-client'
4962
- os: ubuntu-latest
5063
jdk: 25
5164
profile: 'MariaDB-10.4'
65+
module: 'vertx-mysql-client'
5266
- os: ubuntu-latest
5367
jdk: 25
5468
profile: 'MSSQL-2019-latest'
69+
module: 'vertx-mssql-client'
5570
- os: ubuntu-latest
5671
jdk: 25
5772
profile: 'Oracle-23'
73+
module: 'vertx-oracle-client'
5874
uses: ./.github/workflows/ci.yml
5975
with:
6076
branch: 4.x
6177
jdk: ${{ matrix.jdk }}
6278
os: ${{ matrix.os }}
6379
profile: ${{ matrix.profile }}
80+
module: ${{ matrix.module }}
6481
deploy: ${{ matrix.jdk == '8' && matrix.os == 'ubuntu-latest' }}
6582
secrets: inherit
6683
Deploy:

.github/workflows/ci-matrix-5.x.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,62 +8,79 @@ on:
88
jobs:
99
CI:
1010
strategy:
11+
fail-fast: false
1112
matrix:
1213
include:
1314
- os: ubuntu-latest
1415
jdk: 11
1516
profile: 'PostgreSQL-9'
17+
module: 'vertx-pg-client'
1618
- os: ubuntu-latest
1719
jdk: 11
1820
profile: 'PostgreSQL-10'
21+
module: 'vertx-pg-client'
1922
- os: ubuntu-latest
2023
jdk: 11
2124
profile: 'PostgreSQL-11'
25+
module: 'vertx-pg-client'
2226
- os: ubuntu-latest
2327
jdk: 11
2428
profile: 'MySQL-8.0'
29+
module: 'vertx-mysql-client'
2530
- os: ubuntu-latest
2631
jdk: 11
2732
profile: 'MySQL-5.6'
33+
module: 'vertx-mysql-client'
2834
- os: ubuntu-latest
2935
jdk: 11
3036
profile: 'MySQL-5.7'
37+
module: 'vertx-mysql-client'
3138
- os: ubuntu-latest
3239
jdk: 11
3340
profile: 'MariaDB-10.4'
41+
module: 'vertx-mysql-client'
3442
- os: ubuntu-latest
3543
jdk: 11
3644
profile: 'MSSQL-2017-latest'
45+
module: 'vertx-mssql-client'
3746
- os: ubuntu-latest
3847
jdk: 11
3948
profile: 'MSSQL-2019-latest'
49+
module: 'vertx-mssql-client'
4050
- os: ubuntu-latest
4151
jdk: 11
4252
profile: 'DB2-11.5'
53+
module: 'vertx-db2-client'
4354
- os: ubuntu-latest
4455
jdk: 11
45-
profile: 'SQL-templates'
56+
module: 'vertx-sql-client-templates'
4657
- os: ubuntu-latest
4758
jdk: 25
4859
profile: 'PostgreSQL-11'
60+
module: 'vertx-pg-client'
4961
- os: ubuntu-latest
5062
jdk: 25
5163
profile: 'MySQL-5.7'
64+
module: 'vertx-mysql-client'
5265
- os: ubuntu-latest
5366
jdk: 25
5467
profile: 'MariaDB-10.4'
68+
module: 'vertx-mysql-client'
5569
- os: ubuntu-latest
5670
jdk: 25
5771
profile: 'MSSQL-2019-latest'
72+
module: 'vertx-mssql-client'
5873
- os: ubuntu-latest
5974
jdk: 25
6075
profile: 'Oracle-23'
76+
module: 'vertx-oracle-client'
6177
uses: ./.github/workflows/ci.yml
6278
with:
6379
branch: ${{ inputs.branch }}
6480
jdk: ${{ matrix.jdk }}
6581
os: ${{ matrix.os }}
6682
profile: ${{ matrix.profile }}
83+
module: ${{ matrix.module }}
6784
deploy: ${{ matrix.jdk == '8' && matrix.os == 'ubuntu-latest' }}
6885
secrets: inherit
6986
Deploy:

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ on:
1313
type: string
1414
profile:
1515
type: string
16+
module:
17+
required: true
18+
type: string
1619
deploy:
1720
type: boolean
1821
jobs:
@@ -30,4 +33,6 @@ jobs:
3033
java-version: ${{ inputs.jdk }}
3134
distribution: temurin
3235
- name: Run tests
33-
run: mvn -s .github/maven-ci-settings.xml -q clean verify -B -DskipDefault -P ${{ inputs.profile }}
36+
run: |
37+
PROFILE_ARG="${{ inputs.profile && format('-P {0}', inputs.profile) || '' }}"
38+
mvn -s .github/maven-ci-settings.xml -q clean verify -B $PROFILE_ARG -pl :${{ inputs.module }} -am

pom.xml

Lines changed: 10 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -180,158 +180,15 @@
180180
</plugins>
181181
</build>
182182

183-
<profiles>
184-
<profile>
185-
<id>default</id>
186-
<activation>
187-
<property>
188-
<name>skipDefault</name>
189-
<value>!true</value>
190-
</property>
191-
</activation>
192-
<modules>
193-
<module>vertx-sql-client</module>
194-
<module>vertx-sql-client-codec</module>
195-
<module>vertx-pg-client</module>
196-
<module>vertx-mysql-client</module>
197-
<module>vertx-mssql-client</module>
198-
<module>vertx-db2-client</module>
199-
<module>vertx-sql-client-templates</module>
200-
<module>vertx-oracle-client</module>
201-
</modules>
202-
</profile>
203-
<profile>
204-
<id>PostgreSQL-9</id>
205-
<properties>
206-
<embedded.postgres.version>9.6</embedded.postgres.version>
207-
</properties>
208-
<modules>
209-
<module>vertx-sql-client</module>
210-
<module>vertx-sql-client-codec</module>
211-
<module>vertx-pg-client</module>
212-
</modules>
213-
</profile>
214-
<profile>
215-
<id>PostgreSQL-10</id>
216-
<properties>
217-
<embedded.postgres.version>10.6</embedded.postgres.version>
218-
</properties>
219-
<modules>
220-
<module>vertx-sql-client</module>
221-
<module>vertx-sql-client-codec</module>
222-
<module>vertx-pg-client</module>
223-
</modules>
224-
</profile>
225-
<profile>
226-
<id>PostgreSQL-11</id>
227-
<properties>
228-
<embedded.postgres.version>11.5</embedded.postgres.version>
229-
</properties>
230-
<modules>
231-
<module>vertx-sql-client</module>
232-
<module>vertx-sql-client-codec</module>
233-
<module>vertx-pg-client</module>
234-
</modules>
235-
</profile>
236-
<profile>
237-
<id>MySQL-8.0</id>
238-
<properties>
239-
<testing.mysql.database.server>mysql</testing.mysql.database.server>
240-
<testing.mysql.database.version>8.0</testing.mysql.database.version>
241-
</properties>
242-
<modules>
243-
<module>vertx-sql-client</module>
244-
<module>vertx-sql-client-codec</module>
245-
<module>vertx-mysql-client</module>
246-
</modules>
247-
</profile>
248-
<profile>
249-
<id>MySQL-5.6</id>
250-
<properties>
251-
<testing.mysql.database.server>mysql</testing.mysql.database.server>
252-
<testing.mysql.database.version>5.6</testing.mysql.database.version>
253-
</properties>
254-
<modules>
255-
<module>vertx-sql-client</module>
256-
<module>vertx-sql-client-codec</module>
257-
<module>vertx-mysql-client</module>
258-
</modules>
259-
</profile>
260-
<profile>
261-
<id>MySQL-5.7</id>
262-
<properties>
263-
<testing.mysql.database.server>mysql</testing.mysql.database.server>
264-
<testing.mysql.database.version>5.7</testing.mysql.database.version>
265-
</properties>
266-
<modules>
267-
<module>vertx-sql-client</module>
268-
<module>vertx-sql-client-codec</module>
269-
<module>vertx-mysql-client</module>
270-
</modules>
271-
</profile>
272-
<profile>
273-
<id>MariaDB-10.4</id>
274-
<properties>
275-
<testing.mysql.database.server>mariadb</testing.mysql.database.server>
276-
<testing.mysql.database.version>10.4</testing.mysql.database.version>
277-
</properties>
278-
<modules>
279-
<module>vertx-sql-client</module>
280-
<module>vertx-sql-client-codec</module>
281-
<module>vertx-mysql-client</module>
282-
</modules>
283-
</profile>
284-
<profile>
285-
<id>MSSQL-2017-latest</id>
286-
<properties>
287-
<mssql-container.version>2017-latest</mssql-container.version>
288-
</properties>
289-
<modules>
290-
<module>vertx-sql-client</module>
291-
<module>vertx-sql-client-codec</module>
292-
<module>vertx-mssql-client</module>
293-
</modules>
294-
</profile>
295-
<profile>
296-
<id>MSSQL-2019-latest</id>
297-
<properties>
298-
<mssql-container.version>2019-latest</mssql-container.version>
299-
</properties>
300-
<modules>
301-
<module>vertx-sql-client</module>
302-
<module>vertx-sql-client-codec</module>
303-
<module>vertx-mssql-client</module>
304-
</modules>
305-
</profile>
306-
<profile>
307-
<id>DB2-11.5</id>
308-
<modules>
309-
<module>vertx-sql-client</module>
310-
<module>vertx-sql-client-codec</module>
311-
<module>vertx-db2-client</module>
312-
</modules>
313-
</profile>
314-
<profile>
315-
<id>SQL-templates</id>
316-
<modules>
317-
<module>vertx-sql-client</module>
318-
<module>vertx-sql-client-codec</module>
319-
<module>vertx-pg-client</module>
320-
<module>vertx-mysql-client</module>
321-
<module>vertx-sql-client-templates</module>
322-
</modules>
323-
</profile>
324-
<profile>
325-
<id>Oracle-23</id>
326-
<properties>
327-
<oracle-container.version>23.3-slim-faststart</oracle-container.version>
328-
</properties>
329-
<modules>
330-
<module>vertx-sql-client</module>
331-
<module>vertx-sql-client-codec</module>
332-
<module>vertx-oracle-client</module>
333-
</modules>
334-
</profile>
335-
</profiles>
183+
<modules>
184+
<module>vertx-sql-client</module>
185+
<module>vertx-sql-client-codec</module>
186+
<module>vertx-pg-client</module>
187+
<module>vertx-mysql-client</module>
188+
<module>vertx-mssql-client</module>
189+
<module>vertx-db2-client</module>
190+
<module>vertx-sql-client-templates</module>
191+
<module>vertx-oracle-client</module>
192+
</modules>
336193

337194
</project>

vertx-db2-client/pom.xml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,21 @@
8181
</dependencies>
8282

8383
<build>
84-
<pluginManagement>
85-
<plugins>
86-
<plugin>
87-
<artifactId>maven-surefire-plugin</artifactId>
88-
<configuration>
89-
<argLine>-Xmx1024M</argLine>
90-
<failIfNoTests>true</failIfNoTests>
91-
<trimStackTrace>false</trimStackTrace>
92-
<systemPropertyVariables>
93-
<target.dir>${project.build.directory}</target.dir>
94-
<!-- Copy of java.security that allows TLS 1.1 as the DB2 container will only accept this version
95-
(https://bugs.openjdk.java.net/browse/JDK-8258598) -->
96-
<java.security.properties>${project.basedir}/src/test/java.security</java.security.properties>
97-
</systemPropertyVariables>
98-
</configuration>
99-
</plugin>
100-
</plugins>
101-
</pluginManagement>
10284
<plugins>
85+
<plugin>
86+
<artifactId>maven-surefire-plugin</artifactId>
87+
<configuration>
88+
<argLine>-Xmx1024M</argLine>
89+
<failIfNoTests>true</failIfNoTests>
90+
<trimStackTrace>false</trimStackTrace>
91+
<systemPropertyVariables>
92+
<target.dir>${project.build.directory}</target.dir>
93+
<!-- Copy of java.security that allows TLS 1.1 as the DB2 container will only accept this version
94+
(https://bugs.openjdk.java.net/browse/JDK-8258598) -->
95+
<java.security.properties>${project.basedir}/src/test/java.security</java.security.properties>
96+
</systemPropertyVariables>
97+
</configuration>
98+
</plugin>
10399
<!--
104100
<plugin>
105101
<groupId>org.bsc.maven</groupId>

0 commit comments

Comments
 (0)