4
4
push :
5
5
branches :
6
6
- master
7
- - develop
8
7
- release*
9
8
pull_request :
10
9
type : [opened, reopened, edited, synchronize]
11
10
12
11
jobs :
12
+ prepare :
13
+ name : Prepare Maven cache
14
+ runs-on : ubuntu-latest
15
+
16
+ env :
17
+ MAVEN_ARGS : --batch-mode -Dstyle.color=always
18
+
19
+ steps :
20
+ - name : Checkout YDB Java SDK
21
+ uses : actions/checkout@v4
22
+ with :
23
+ path : sdk
24
+
25
+ - name : Checkout YDB YC Auth provider
26
+ uses : actions/checkout@v4
27
+ with :
28
+ repository : ydb-platform/ydb-java-yc
29
+ path : yc
30
+
31
+ - name : Checkout YDB JDBC Driver
32
+ uses : actions/checkout@v4
33
+ with :
34
+ repository : ydb-platform/ydb-jdbc-driver
35
+ path : jdbc
36
+
37
+ - name : Checkout YDB Java Examples
38
+ uses : actions/checkout@v4
39
+ with :
40
+ repository : ydb-platform/ydb-java-examples
41
+ path : examples
42
+
43
+ - name : Set up Java
44
+ uses : actions/setup-java@v4
45
+ with :
46
+ java-version : 17
47
+ distribution : ' temurin'
48
+ cache : ' maven'
49
+ cache-dependency-path : |
50
+ sdk/pom.xml
51
+ sdk/bom/pom.xml
52
+ yc/pom.xml
53
+ jdbc/pom.xml
54
+
55
+ - name : Download YDB Java SDK dependencies
56
+ working-directory : ./sdk
57
+ run : mvn $MAVEN_ARGS dependency:go-offline
58
+
59
+ - name : Download YDB YC Auth provider dependencies
60
+ working-directory : ./yc
61
+ run : mvn $MAVEN_ARGS dependency:go-offline
62
+
63
+ - name : Download YDB JDBC Driver dependencies
64
+ working-directory : ./jdbc
65
+ run : mvn $MAVEN_ARGS dependency:go-offline
66
+
67
+ - name : Download YDB Java Examples dependencies
68
+ working-directory : ./examples
69
+ run : mvn $MAVEN_ARGS dependency:go-offline
70
+
13
71
build :
14
- name : YDB Java SDK CI with Maven
72
+ name : YDB Java SDK CI on JDK
15
73
runs-on : ubuntu-latest
74
+ needs : prepare
16
75
17
76
strategy :
18
77
matrix :
19
78
java : [ '8', '11', '17']
20
79
21
80
env :
22
- MAVEN_ARGS : --batch-mode --update-snapshots - Dstyle.color=always -DYDB_DOCKER_ISOLATION=true
81
+ MAVEN_ARGS : --batch-mode -Dstyle.color=always -DYDB_DOCKER_ISOLATION=true
23
82
24
83
steps :
25
- - uses : actions/checkout@v4
84
+ - name : Checkout YDB Java SDK
85
+ uses : actions/checkout@v4
26
86
with :
27
87
path : sdk
28
88
29
- - name : Set up JDK 8
89
+ - name : Checkout YDB YC Auth provider
90
+ uses : actions/checkout@v4
91
+ with :
92
+ repository : ydb-platform/ydb-java-yc
93
+ path : yc
94
+
95
+ - name : Checkout YDB JDBC Driver
96
+ uses : actions/checkout@v4
97
+ with :
98
+ repository : ydb-platform/ydb-jdbc-driver
99
+ path : jdbc
100
+
101
+ - name : Set up Java
30
102
uses : actions/setup-java@v4
31
103
with :
32
104
java-version : ${{ matrix.java }}
33
105
distribution : ' temurin'
34
106
cache : ' maven'
107
+ cache-dependency-path : |
108
+ sdk/pom.xml
109
+ sdk/bom/pom.xml
110
+ yc/pom.xml
111
+ jdbc/pom.xml
35
112
36
- - name : Extract SDK version
113
+ - name : Extract YDB Java SDK version
37
114
working-directory : ./sdk
38
115
run : |
39
116
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
@@ -45,38 +122,30 @@ jobs:
45
122
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
46
123
echo "AUTH_API_VERSION=$VERSION" >> "$GITHUB_ENV"
47
124
48
- - name : Download YDK SDK dependencies
49
- working-directory : ./sdk
50
- run : mvn $MAVEN_ARGS dependency:go-offline
51
-
52
- - name : Build YDB SDK
125
+ - name : Build YDB Java SDK
53
126
working-directory : ./sdk
54
127
run : mvn $MAVEN_ARGS install
55
128
56
- - uses : actions/checkout@v4
57
- with :
58
- repository : ydb-platform/ydb-java-yc
59
- ref : develop
60
- path : yc
61
-
62
- - name : Download YDB YC Auth provider dependencies
63
- working-directory : ./yc
64
- run : mvn $MAVEN_ARGS -Dydb.auth-api.version=$AUTH_API_VERSION dependency:go-offline
65
-
66
129
- name : Build YDB YC Auth provider
67
130
working-directory : ./yc
68
131
run : mvn $MAVEN_ARGS -Dydb.auth-api.version=$AUTH_API_VERSION install
69
132
70
- - uses : actions/checkout@v4
133
+ - name : Extract YDB JDBC Driver version
134
+ working-directory : ./jdbc
135
+ run : |
136
+ VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
137
+ echo "JDBC_VERSION=$VERSION" >> "$GITHUB_ENV"
138
+
139
+ - name : Build YDB JDBC Driver with tests
140
+ working-directory : ./jdbc
141
+ run : mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION install
142
+
143
+ - name : Checkout YDB Java Examples
144
+ uses : actions/checkout@v4
71
145
with :
72
146
repository : ydb-platform/ydb-java-examples
73
- ref : master
74
147
path : examples
75
148
76
- - name : Download dependencies
77
- working-directory : ./examples
78
- run : mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION dependency:go-offline
79
-
80
149
- name : Test examples with Maven
81
150
working-directory : ./examples
82
- run : mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION test
151
+ run : mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION -Dydb.jdbc.version=$JDBC_VERSION test
0 commit comments