|
66 | 66 | rustup component add rustfmt |
67 | 67 | cd native && cargo fmt --all -- --check |
68 | 68 |
|
| 69 | + lint-java: |
| 70 | + needs: lint |
| 71 | + name: Lint Java (${{ matrix.profile.name }}) |
| 72 | + runs-on: ubuntu-latest |
| 73 | + container: |
| 74 | + image: amd64/rust |
| 75 | + env: |
| 76 | + JAVA_TOOL_OPTIONS: ${{ matrix.profile.java_version == '17' && '--add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED' || '' }} |
| 77 | + strategy: |
| 78 | + matrix: |
| 79 | + profile: |
| 80 | + - name: "Spark 3.4, JDK 11, Scala 2.12" |
| 81 | + java_version: "11" |
| 82 | + maven_opts: "-Pspark-3.4 -Pscala-2.12" |
| 83 | + - name: "Spark 3.5, JDK 17, Scala 2.12" |
| 84 | + java_version: "17" |
| 85 | + maven_opts: "-Pspark-3.5 -Pscala-2.12" |
| 86 | + - name: "Spark 4.0, JDK 17" |
| 87 | + java_version: "17" |
| 88 | + maven_opts: "-Pspark-4.0" |
| 89 | + fail-fast: false |
| 90 | + steps: |
| 91 | + - uses: runs-on/action@cd2b598b0515d39d78c38a02d529db87d2196d1e # v2.0.3 |
| 92 | + - uses: actions/checkout@v6 |
| 93 | + |
| 94 | + - name: Setup Rust & Java toolchain |
| 95 | + uses: ./.github/actions/setup-builder |
| 96 | + with: |
| 97 | + rust-version: ${{ env.RUST_VERSION }} |
| 98 | + jdk-version: ${{ matrix.profile.java_version }} |
| 99 | + |
| 100 | + - name: Cache Maven dependencies |
| 101 | + uses: actions/cache@v5 |
| 102 | + with: |
| 103 | + path: | |
| 104 | + ~/.m2/repository |
| 105 | + /root/.m2/repository |
| 106 | + key: ${{ runner.os }}-java-maven-${{ hashFiles('**/pom.xml') }}-lint |
| 107 | + restore-keys: | |
| 108 | + ${{ runner.os }}-java-maven- |
| 109 | +
|
| 110 | + - name: Run scalafix check |
| 111 | + run: | |
| 112 | + ./mvnw -B package -DskipTests scalafix:scalafix -Dscalafix.mode=CHECK -Psemanticdb ${{ matrix.profile.maven_opts }} |
| 113 | +
|
| 114 | + - name: Setup Node.js |
| 115 | + uses: actions/setup-node@v6 |
| 116 | + with: |
| 117 | + node-version: '24' |
| 118 | + |
| 119 | + - name: Install prettier |
| 120 | + run: | |
| 121 | + npm install -g prettier |
| 122 | +
|
| 123 | + - name: Run prettier |
| 124 | + run: | |
| 125 | + npx prettier "**/*.md" --write |
| 126 | +
|
| 127 | + - name: Mark workspace as safe for git |
| 128 | + run: | |
| 129 | + git config --global --add safe.directory "$GITHUB_WORKSPACE" |
| 130 | +
|
| 131 | + - name: Check for any local git changes (such as generated docs) |
| 132 | + run: | |
| 133 | + ./dev/ci/check-working-tree-clean.sh |
| 134 | +
|
69 | 135 | # Build native library once and share with all test jobs |
70 | 136 | build-native: |
71 | 137 | needs: lint |
|
0 commit comments