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]

Reply via email to