-
Notifications
You must be signed in to change notification settings - Fork 2.8k
68 lines (65 loc) · 2.62 KB
/
postgres.yml
File metadata and controls
68 lines (65 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: Flowable Postgres Build
on:
push:
branches:
- main
- 'flowable-release-*'
env:
MAVEN_ARGS: >-
-Dmaven.javadoc.skip=true
-B -V --no-transfer-progress
-Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120
jobs:
test_postgres:
name: Postgres ${{ matrix.postgres }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
postgres: [14, 15, 16, 17]
services:
postgres:
image: postgres:${{ matrix.postgres }}
env:
POSTGRES_PASSWORD: flowable
POSTGRES_USER: flowable
ports:
- 5432:5432
# needed because the postgres container does not provide a health check
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 --tmpfs /var/lib/postgresql/data:rw
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: 'zulu'
java-version: 17
- name: Restore Maven Repository Cache
uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Test
id: test
# use postgres for the host here because we have specified a container for the job.
# If we were running the job on the VM this would be localhost
# '>-' is a special YAML syntax and means that new lines would be replaced with spaces
# and new lines from the end would be removed
run: >-
./mvnw clean install
${MAVEN_ARGS}
-PcleanDb,postgresql,distro
-Djdbc.url=jdbc:postgresql://localhost:${{ job.services.postgres.ports[5432] }}/flowable
-Djdbc.username=flowable
-Djdbc.password=flowable
-Djdbc.driver=org.postgresql.Driver
-Dspring.datasource.url=jdbc:postgresql://localhost:${{ job.services.postgres.ports[5432] }}/flowable
-Dspring.datasource.username=flowable
-Dspring.datasource.password=flowable
-Dmaven.test.redirectTestOutputToFile=false
- name: Upload test artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: ${{ failure() && steps.test.conclusion == 'failure' }}
with:
name: surefire-test-reports-postgres-${{ matrix.postgres }}
path: '**/target/surefire-reports/*'