This is an automated email from the ASF dual-hosted git repository.
frankgh pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-sidecar.git
The following commit(s) were added to refs/heads/trunk by this push:
new 2fa929cd CASSSIDECAR-397: Add Missing checks in GitHub actions vs
Cicle CI (#310)
2fa929cd is described below
commit 2fa929cd4de15149166e1f8e1428845b72a53018
Author: Yuntong Qu <[email protected]>
AuthorDate: Thu Jan 29 12:33:01 2026 -0500
CASSSIDECAR-397: Add Missing checks in GitHub actions vs Cicle CI (#310)
Patch by Yuntong Qu; reviewed by Francisco Guerrero, Saranya Krishnakumar
for CASSSIDECAR-397
---
.github/workflows/ci.yml | 228 +++++++++++++++++++++++++++++++++++++++++++++++
build.gradle | 6 ++
2 files changed, 234 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ecb0a55b..6667bfea 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -98,6 +98,50 @@ jobs:
path: cassandra-tarballs/
retention-days: 30
+ # Run checkstyle checks for code style validation
+ checkstyle:
+ name: Checkstyle
+ runs-on: ubuntu-latest
+ needs: build-dtest-jars
+ permissions:
+ contents: read
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Setup Java 11
+ uses: actions/setup-java@v5
+ with:
+ java-version: "11"
+ distribution: "temurin"
+ cache: "gradle"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v5
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/trunk' }}
+
+ - name: Download dtest jars
+ uses: actions/download-artifact@v5
+ with:
+ name: dtest-jars
+ path: dtest-jars/
+
+ - name: Run checkstyle
+ run: |
+ ./gradlew checkstyle --stacktrace
+ env:
+ CASSANDRA_DEP_DIR: ${{ github.workspace }}/dtest-jars
+
+ - name: Upload checkstyle reports
+ if: always()
+ uses: actions/upload-artifact@v5
+ with:
+ name: checkstyle-reports
+ path: "**/build/reports/checkstyle/"
+ retention-days: 30
+
# Run unit tests with static analysis on all Java versions
unit-tests:
name: Unit tests (Java ${{ matrix.java }})
@@ -347,3 +391,187 @@ jobs:
**/build/test-results/integrationTest*/**
**/build/reports/tests/integrationTest*/
retention-days: 30
+
+ # Run Java 8 client unit tests for client compatibility
+ unit-tests-java8:
+ name: Unit tests (Java 8 - Client only)
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ checks: write
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Setup Java 8
+ uses: actions/setup-java@v5
+ with:
+ java-version: "8"
+ distribution: "temurin"
+ cache: "gradle"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v5
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/trunk' }}
+
+ - name: Run build
+ run: |
+ ./gradlew build --stacktrace
+
+ - name: Upload test results
+ if: always()
+ uses: actions/upload-artifact@v5
+ with:
+ name: unit-test-results-java-8
+ path: |
+ **/build/test-results/test/**
+ **/build/reports/tests/
+ retention-days: 30
+
+ # Build and verify Debian package
+ deb-build-install:
+ name: Deb package build and install
+ runs-on: ubuntu-latest
+ needs: [unit-tests, checkstyle]
+ permissions:
+ contents: read
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Setup Java 11
+ uses: actions/setup-java@v5
+ with:
+ java-version: "11"
+ distribution: "temurin"
+ cache: "gradle"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v5
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/trunk' }}
+
+ - name: Build Debian package
+ run: |
+ ./gradlew --info clean buildDeb
+
+ - name: Install Debian package
+ run: |
+ sudo apt-get update && sudo apt --fix-broken install
+ DEBIAN_FRONTEND=noninteractive sudo apt install -y
./build/distributions/apache-cassandra-sidecar*.deb
+
+ - name: Verify installation
+ run: |
+ test -f /opt/apache-cassandra-sidecar/bin/cassandra-sidecar
+ test -f /opt/apache-cassandra-sidecar/conf/sidecar.yaml
+ test -f /opt/apache-cassandra-sidecar/conf/logback.xml
+ test -f /opt/apache-cassandra-sidecar/LICENSE.txt
+ test -f /opt/apache-cassandra-sidecar/lib/cassandra-sidecar-*.jar
+
+ # Build and verify RPM package
+ rpm-build-install:
+ name: RPM package build and install
+ runs-on: ubuntu-latest
+ needs: [unit-tests, checkstyle]
+ permissions:
+ contents: read
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Setup Java 11
+ uses: actions/setup-java@v5
+ with:
+ java-version: "11"
+ distribution: "temurin"
+ cache: "gradle"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v5
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/trunk' }}
+
+ - name: Install dnf
+ run: |
+ sudo apt-get update && sudo apt-get install -y dnf
+
+ - name: Build RPM package
+ run: |
+ ./gradlew -i buildRpm
+
+ - name: Install RPM package
+ run: |
+ sudo dnf install -y
./build/distributions/apache-cassandra-sidecar*.rpm
+
+ - name: Verify installation
+ run: |
+ test -f /opt/apache-cassandra-sidecar/bin/cassandra-sidecar
+ test -f /opt/apache-cassandra-sidecar/conf/sidecar.yaml
+ test -f /opt/apache-cassandra-sidecar/conf/logback.xml
+ test -f /opt/apache-cassandra-sidecar/LICENSE.txt
+ test -f /opt/apache-cassandra-sidecar/lib/cassandra-sidecar-*.jar
+
+ # Build Docker image
+ docker-build:
+ name: Docker build
+ runs-on: ubuntu-latest
+ needs: [unit-tests, checkstyle]
+ permissions:
+ contents: read
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Setup Java 11
+ uses: actions/setup-java@v5
+ with:
+ java-version: "11"
+ distribution: "temurin"
+ cache: "gradle"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v5
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/trunk' }}
+
+ - name: Build Docker image with Jib
+ run: |
+ ./gradlew --info clean :server:jibDockerBuild
+
+ # Build documentation
+ docs-build:
+ name: Documentation build
+ runs-on: ubuntu-latest
+ needs: [unit-tests, checkstyle]
+ permissions:
+ contents: read
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Setup Java 11
+ uses: actions/setup-java@v5
+ with:
+ java-version: "11"
+ distribution: "temurin"
+ cache: "gradle"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v5
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/trunk' }}
+
+ - name: Build documentation
+ run: |
+ ./gradlew docs:asciidoctor
+
+ - name: Verify documentation
+ run: |
+ test -f docs/build/user.html
+ test -f docs/build/development.html
diff --git a/build.gradle b/build.gradle
index 8943007c..372869eb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -111,6 +111,12 @@ ext {
// Force checkstyle, rat, and spotBugs to run before test tasks for faster
feedback
def codeCheckTasks = task("codeCheckTasks")
+tasks.register('checkstyle') {
+ description = 'Runs all checkstyle tasks'
+ group = 'verification'
+ dependsOn(allprojects.collect { it.tasks.withType(Checkstyle) })
+}
+
allprojects {
apply plugin: 'jacoco'
apply plugin: 'checkstyle'
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]