|
10 | 10 |
|
11 | 11 | jobs: |
12 | 12 | build: |
13 | | - name: Test on java-version ${{ matrix.java-version }} and ${{ matrix.os }} |
| 13 | + name: Test on Java ${{ matrix.java-version }} in ${{ matrix.os }} |
14 | 14 | runs-on: ${{ matrix.os }} |
15 | 15 | strategy: |
| 16 | + fail-fast: false |
16 | 17 | matrix: |
17 | | - java-version: ['8', '11', '17'] |
| 18 | + java-version: ['8', '11', '17', '21', '25'] |
18 | 19 | os: [ubuntu-latest, windows-latest] |
19 | 20 |
|
20 | 21 | steps: |
21 | | - - uses: actions/checkout@v4 |
| 22 | + - uses: actions/checkout@v6 |
| 23 | + |
22 | 24 | - name: Check limited Guava usage |
23 | 25 | if: matrix.os == 'ubuntu-latest' |
24 | 26 | run: | |
25 | 27 | if grep --with-filename --line-number --no-messages --recursive --exclude-dir=.github "com.google.common.base.Objects" .; then |
26 | 28 | echo "Error: use java.util.Objects instead of com.google.common.base.Objects" |
27 | 29 | exit 1 |
28 | 30 | fi |
29 | | - - name: Setup java ${{ matrix.java-version }} |
30 | | - uses: actions/setup-java@v4 |
| 31 | +
|
| 32 | + - name: Setup java 17 for building |
| 33 | + uses: actions/setup-java@v5 |
31 | 34 | with: |
32 | 35 | distribution: temurin |
33 | | - java-version: ${{ matrix.java-version }} |
34 | | - - name: Set environment variables |
| 36 | + java-version: '17' |
| 37 | + |
| 38 | + - name: Set environment variables on Ubuntu |
| 39 | + if: matrix.os == 'ubuntu-latest' |
35 | 40 | run: | |
36 | 41 | echo "DEV_VERSION=$(./gradlew properties | awk '/^version:/ { print $2 }')" >> $GITHUB_ENV |
37 | 42 | echo "RELEASE_VERSION=$(./gradlew properties -Prelease | awk '/^version:/ { print $2 }')" >> $GITHUB_ENV |
38 | | - - name: Gradle build on Ubuntu |
| 43 | +
|
| 44 | + - name: Set environment variables on Windows |
| 45 | + if: matrix.os == 'windows-latest' |
| 46 | + run: | |
| 47 | + $devVersion = (./gradlew.bat properties | Select-String '^version:').ToString().Split(' ')[1].Trim() |
| 48 | + echo "DEV_VERSION=$devVersion" >> $Env:GITHUB_ENV |
| 49 | +
|
| 50 | + - name: Run build on Ubuntu |
39 | 51 | if: matrix.os == 'ubuntu-latest' |
40 | 52 | run: | |
41 | 53 | ./gradlew build |
42 | | - ./gradlew runFunctionalTest |
43 | | - javac -cp api/build/libs/minio-${DEV_VERSION}-all.jar functional/TestUserAgent.java |
44 | | - java -Dversion=${DEV_VERSION} -cp api/build/libs/minio-${DEV_VERSION}-all.jar:functional TestUserAgent |
45 | | - ./gradlew clean |
46 | 54 | ./gradlew build -Prelease |
47 | | - javac -cp api/build/libs/minio-${RELEASE_VERSION}-all.jar functional/TestUserAgent.java |
48 | | - java -Dversion=${RELEASE_VERSION} -cp api/build/libs/minio-${RELEASE_VERSION}-all.jar:functional TestUserAgent |
49 | | - - name: Gradle build on Windows |
| 55 | +
|
| 56 | + - name: Run build on Windows |
| 57 | + if: matrix.os == 'windows-latest' |
| 58 | + run: | |
| 59 | + ./gradlew.bat build |
| 60 | +
|
| 61 | + - name: Setup java ${{ matrix.java-version }} for testing |
| 62 | + if: matrix.java-version != '17' |
| 63 | + uses: actions/setup-java@v5 |
| 64 | + with: |
| 65 | + distribution: temurin |
| 66 | + java-version: ${{ matrix.java-version }} |
| 67 | + |
| 68 | + - name: Run tests on Ubuntu |
| 69 | + if: matrix.os == 'ubuntu-latest' |
| 70 | + run: | |
| 71 | + cd functional |
| 72 | + curl -sSfLO https://repo1.maven.org/maven2/org/junit/platform/junit-platform-console-standalone/1.11.4/junit-platform-console-standalone-1.11.4.jar |
| 73 | + curl -sSfLO https://repo1.maven.org/maven2/com/github/spotbugs/spotbugs-annotations/4.9.8/spotbugs-annotations-4.9.8.jar |
| 74 | + javac -cp spotbugs-annotations-4.9.8.jar:junit-platform-console-standalone-1.11.4.jar:../api/build/libs/minio-${DEV_VERSION}-all.jar:../adminapi/build/libs/minio-admin-${DEV_VERSION}-all.jar:. FunctionalTest.java |
| 75 | + java -cp spotbugs-annotations-4.9.8.jar:junit-platform-console-standalone-1.11.4.jar:../api/build/libs/minio-${DEV_VERSION}-all.jar:../adminapi/build/libs/minio-admin-${DEV_VERSION}-all.jar:. FunctionalTest |
| 76 | + javac -cp spotbugs-annotations-4.9.8.jar:junit-platform-console-standalone-1.11.4.jar:../api/build/libs/minio-${DEV_VERSION}-all.jar:. ./TestUserAgent.java |
| 77 | + java -Dversion=${DEV_VERSION} -cp spotbugs-annotations-4.9.8.jar:junit-platform-console-standalone-1.11.4.jar:../api/build/libs/minio-${DEV_VERSION}-all.jar:. TestUserAgent |
| 78 | + javac -cp spotbugs-annotations-4.9.8.jar:junit-platform-console-standalone-1.11.4.jar:../api/build/libs/minio-${RELEASE_VERSION}-all.jar:. ./TestUserAgent.java |
| 79 | + java -Dversion=${RELEASE_VERSION} -cp spotbugs-annotations-4.9.8.jar:junit-platform-console-standalone-1.11.4.jar:../api/build/libs/minio-${RELEASE_VERSION}-all.jar:. TestUserAgent |
| 80 | +
|
| 81 | + - name: Run tests on Windows |
50 | 82 | if: matrix.os == 'windows-latest' |
51 | 83 | run: | |
52 | | - $Env:Path += ';.' |
53 | | - gradlew.bat build |
54 | | - gradlew.bat runFunctionalTest |
| 84 | + cd functional |
| 85 | + curl -sSfLO https://repo1.maven.org/maven2/org/junit/platform/junit-platform-console-standalone/1.11.4/junit-platform-console-standalone-1.11.4.jar |
| 86 | + curl -sSfLO https://repo1.maven.org/maven2/com/github/spotbugs/spotbugs-annotations/4.9.8/spotbugs-annotations-4.9.8.jar |
| 87 | + javac -encoding UTF-8 -cp "spotbugs-annotations-4.9.8.jar;junit-platform-console-standalone-1.11.4.jar;../api/build/libs/minio-$Env:DEV_VERSION-all.jar;../adminapi/build/libs/minio-admin-$Env:DEV_VERSION-all.jar;." FunctionalTest.java |
| 88 | + java -cp "spotbugs-annotations-4.9.8.jar;junit-platform-console-standalone-1.11.4.jar;../api/build/libs/minio-$Env:DEV_VERSION-all.jar;../adminapi/build/libs/minio-admin-$Env:DEV_VERSION-all.jar;." FunctionalTest |
0 commit comments