Skip to content

Bump com.puppycrawl.tools:checkstyle from 13.2.0 to 13.3.0 in /lang/j… #4507

Bump com.puppycrawl.tools:checkstyle from 13.2.0 to 13.3.0 in /lang/j…

Bump com.puppycrawl.tools:checkstyle from 13.2.0 to 13.3.0 in /lang/j… #4507

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: "Test Java"
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]
paths:
- .github/workflows/test-lang-java.yml
- lang/java/**
- pom.xml
defaults:
run:
working-directory: lang/java
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: "Java Test"
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
steps:
- name: "Checkout sourcecode"
uses: actions/checkout@v6
- name: "Cache Local Maven Repository"
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: "Setup Temurin JDK 11, 17 & 21"
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: |
11
17
21
- name: "Setup Maven 3.9.11"
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.11
- name: "Install Java Avro Toplevel"
working-directory: ./
run: mvn -B install -PskipQuality -DskipTests
- name: "Java Lint"
run: ./build.sh lint
- name: "Java Test"
run: ./build.sh test
- name: "Install Java Avro"
working-directory: .
run: mvn -B clean install -PskipQuality -DskipTests
- name: "Test Reproducible Build"
working-directory: .
run: mvn clean verify -PskipQuality artifact:compare
interop:
name: "Java Interop"
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
- name: "Cache Local Maven Repository"
uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: "Setup Temurin JDK 11, 17 & 21"
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: |
11
17
21
- name: "Setup Maven 3.9.11"
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.11
- name: "Setup Python for Generating Input Data"
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: "3.12"
- name: Setup uv
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
- name: "Apt Install Compression Libs Required by Python"
run: |
sudo apt-get update && \
sudo apt-get install -qqy --no-install-recommends libbz2-dev \
liblzma-dev \
libsnappy-dev \
libzstd-dev
- name: "Install Python Dependencies"
working-directory: lang/py
run: uv sync --frozen
- name: "Setup C# for Generating Interop Data"
uses: actions/setup-dotnet@v5
with:
dotnet-version: |
6.0.x
7.0.x
8.0.x
- name: "Create Interop Data Directory"
working-directory: .
run: mkdir -p build/interop/data
- name: "Generate Interop Data using Python"
working-directory: lang/py
run: ./build.sh interop-data-generate
- name: "Generate Interop Data using C#"
working-directory: lang/csharp
run: ./build.sh interop-data-generate
- name: "Install Java Avro for other tests"
working-directory: .
run: mvn -B install -PskipQuality
- name: "Generate Interop Data using Java 11, 17 & 21"
working-directory: lang/java/interop-data-test
run: mvn -B verify -Pgenerate-test-data
- name: "Run Interop Tests using Java 11, 17 & 21"
working-directory: lang/java/interop-data-test
run: mvn -B verify -Pcheck-test-data