Skip to content

Commit f638501

Browse files
committed
Update cache policy for CI build
1 parent 18cca3f commit f638501

File tree

1 file changed

+87
-37
lines changed

1 file changed

+87
-37
lines changed

.github/workflows/ci.yaml

Lines changed: 87 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,106 @@ on:
99
type: [opened, reopened, edited, synchronize]
1010

1111
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+
1271
build:
13-
name: YDB Java SDK CI with Maven
72+
name: YDB Java SDK CI on JDK
1473
runs-on: ubuntu-latest
74+
needs: prepare
1575

1676
strategy:
1777
matrix:
1878
java: [ '8', '11', '17']
1979

2080
env:
21-
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
2282

2383
steps:
24-
- name: Set up JDK 8
84+
- name: Checkout YDB Java SDK
85+
uses: actions/checkout@v4
86+
with:
87+
path: sdk
88+
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
25102
uses: actions/setup-java@v4
26103
with:
27104
java-version: ${{ matrix.java }}
28105
distribution: 'temurin'
29106
cache: 'maven'
30-
31-
- name: Checkout YDB Java SDK
32-
uses: actions/checkout@v4
33-
with:
34-
path: sdk
107+
cache-dependency-path: |
108+
sdk/pom.xml
109+
sdk/bom/pom.xml
110+
yc/pom.xml
111+
jdbc/pom.xml
35112
36113
- name: Extract YDB Java SDK version
37114
working-directory: ./sdk
@@ -45,57 +122,30 @@ jobs:
45122
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
46123
echo "AUTH_API_VERSION=$VERSION" >> "$GITHUB_ENV"
47124
48-
- name: Download YDB Java SDK dependencies
49-
working-directory: ./sdk
50-
run: mvn $MAVEN_ARGS dependency:go-offline
51-
52125
- name: Build YDB Java SDK
53126
working-directory: ./sdk
54127
run: mvn $MAVEN_ARGS install
55128

56-
- name: Checkout YDB YC Auth provider
57-
uses: actions/checkout@v4
58-
with:
59-
repository: ydb-platform/ydb-java-yc
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-
66129
- name: Build YDB YC Auth provider
67130
working-directory: ./yc
68131
run: mvn $MAVEN_ARGS -Dydb.auth-api.version=$AUTH_API_VERSION install
69132

70-
- name: Checkout YDB JDBC Driver
71-
uses: actions/checkout@v4
72-
with:
73-
repository: ydb-platform/ydb-jdbc-driver
74-
path: jdbc
75-
76133
- name: Extract YDB JDBC Driver version
77134
working-directory: ./jdbc
78135
run: |
79136
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
80137
echo "JDBC_VERSION=$VERSION" >> "$GITHUB_ENV"
81138
82-
- name: Download YDB JDBC Driver dependencies
83-
working-directory: ./jdbc
84-
run: mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION dependency:go-offline
85-
86139
- name: Build YDB JDBC Driver with tests
87140
working-directory: ./jdbc
88141
run: mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION install
89142

90-
- uses: actions/checkout@v4
143+
- name: Checkout YDB Java Examples
144+
uses: actions/checkout@v4
91145
with:
92146
repository: ydb-platform/ydb-java-examples
93147
path: examples
94148

95-
- name: Download dependencies
96-
working-directory: ./examples
97-
run: mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION -Dydb.jdbc.version=$JDBC_VERSION dependency:go-offline
98-
99149
- name: Test examples with Maven
100150
working-directory: ./examples
101151
run: mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION -Dydb.jdbc.version=$JDBC_VERSION test

0 commit comments

Comments
 (0)