Merge pull request #339 from alex268/master #551
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: YDB Java SDK CI with Maven | |
on: | |
push: | |
branches: | |
- master | |
- release* | |
pull_request: | |
type: [opened, reopened, edited, synchronize] | |
jobs: | |
prepare: | |
name: Prepare Maven cache | |
runs-on: ubuntu-latest | |
env: | |
MAVEN_ARGS: --batch-mode -Dstyle.color=always | |
steps: | |
- name: Checkout YDB Java SDK | |
uses: actions/checkout@v4 | |
with: | |
path: sdk | |
- name: Checkout YDB YC Auth provider | |
uses: actions/checkout@v4 | |
with: | |
repository: ydb-platform/ydb-java-yc | |
path: yc | |
- name: Checkout YDB JDBC Driver | |
uses: actions/checkout@v4 | |
with: | |
repository: ydb-platform/ydb-jdbc-driver | |
path: jdbc | |
- name: Checkout YDB Java Examples | |
uses: actions/checkout@v4 | |
with: | |
repository: ydb-platform/ydb-java-examples | |
path: examples | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
cache: 'maven' | |
cache-dependency-path: | | |
sdk/pom.xml | |
sdk/bom/pom.xml | |
yc/pom.xml | |
jdbc/pom.xml | |
- name: Download YDB Java SDK dependencies | |
working-directory: ./sdk | |
run: mvn $MAVEN_ARGS dependency:go-offline | |
- name: Download YDB YC Auth provider dependencies | |
working-directory: ./yc | |
run: mvn $MAVEN_ARGS dependency:go-offline | |
- name: Download YDB JDBC Driver dependencies | |
working-directory: ./jdbc | |
run: mvn $MAVEN_ARGS dependency:go-offline | |
- name: Download YDB Java Examples dependencies | |
working-directory: ./examples | |
run: mvn $MAVEN_ARGS dependency:go-offline | |
build: | |
name: YDB Java SDK CI on JDK | |
runs-on: ubuntu-latest | |
needs: prepare | |
strategy: | |
matrix: | |
java: [ '8', '11', '17'] | |
env: | |
MAVEN_ARGS: --batch-mode -Dstyle.color=always -DYDB_DOCKER_ISOLATION=true | |
steps: | |
- name: Checkout YDB Java SDK | |
uses: actions/checkout@v4 | |
with: | |
path: sdk | |
- name: Checkout YDB YC Auth provider | |
uses: actions/checkout@v4 | |
with: | |
repository: ydb-platform/ydb-java-yc | |
path: yc | |
- name: Checkout YDB JDBC Driver | |
uses: actions/checkout@v4 | |
with: | |
repository: ydb-platform/ydb-jdbc-driver | |
path: jdbc | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: 'maven' | |
cache-dependency-path: | | |
sdk/pom.xml | |
sdk/bom/pom.xml | |
yc/pom.xml | |
jdbc/pom.xml | |
- name: Extract YDB Java SDK version | |
working-directory: ./sdk | |
run: | | |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
echo "SDK_VERSION=$VERSION" >> "$GITHUB_ENV" | |
- name: Extract Auth API version | |
working-directory: ./sdk/auth-api | |
run: | | |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
echo "AUTH_API_VERSION=$VERSION" >> "$GITHUB_ENV" | |
- name: Build YDB Java SDK | |
working-directory: ./sdk | |
run: mvn $MAVEN_ARGS install | |
- name: Build YDB YC Auth provider | |
working-directory: ./yc | |
run: mvn $MAVEN_ARGS -Dydb.auth-api.version=$AUTH_API_VERSION install | |
- name: Extract YDB JDBC Driver version | |
working-directory: ./jdbc | |
run: | | |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
echo "JDBC_VERSION=$VERSION" >> "$GITHUB_ENV" | |
- name: Build YDB JDBC Driver with tests | |
working-directory: ./jdbc | |
run: mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION install | |
- name: Checkout YDB Java Examples | |
uses: actions/checkout@v4 | |
with: | |
repository: ydb-platform/ydb-java-examples | |
path: examples | |
- name: Test examples with Maven | |
working-directory: ./examples | |
run: mvn $MAVEN_ARGS -Dydb.sdk.version=$SDK_VERSION -Dydb.jdbc.version=$JDBC_VERSION test |