Skip to content

Merge branch 'ecchronos-5.0' #29

Merge branch 'ecchronos-5.0'

Merge branch 'ecchronos-5.0' #29

Workflow file for this run

name: Test report
on:
workflow_dispatch:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
push:
paths-ignore:
- '**.md'
env:
MAVEN_OPTS: -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120
permissions: read-all
jobs:
tests:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
# Java 11 tests
- name: "Unit tests - Java 11"
java_version: 11
test_suite: 'test jacoco:report'
- name: "Style check - Java 11"
java_version: 11
test_suite: 'compile com.mycila:license-maven-plugin:check pmd:pmd pmd:cpd pmd:check pmd:cpd-check javadoc:jar'
- name: "Standalone integration 4.0 - Java 11"
java_version: 11
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 4.1 - Java 11"
java_version: 11
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=4.1 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 5.0- - Java 11"
java_version: 11
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=5.0 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Python integration - Java 11"
java_version: 11
test_suite: 'verify -P docker-integration-test,python-integration-tests -DskipUTs'
artifacts_dir: "ecchronos-binary/target"
# Java 17 tests
- name: "Unit tests - Java 17"
java_version: 17
test_suite: 'test -Djava.version=17 jacoco:report'
- name: "Style check - Java 17"
java_version: 17
test_suite: 'compile -Djava.version=17 com.mycila:license-maven-plugin:check pmd:pmd pmd:cpd pmd:check pmd:cpd-check javadoc:jar'
- name: "Standalone integration 4.0 - Java 17"
java_version: 17
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Djava.version=17 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 4.1 - Java 17"
java_version: 17
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=4.1 -Djava.version=17 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 5.0 - Java 17"
java_version: 17
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=5.0 -Djava.version=17 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Python integration - Java 17"
java_version: 17
test_suite: 'verify -P docker-integration-test,python-integration-tests -DskipUTs -Djava.version=17'
artifacts_dir: "ecchronos-binary/target"
# Java 21 tests
- name: "Unit tests - Java 21"
java_version: 21
test_suite: 'test -Dnet.bytebuddy.experimental=true -Djava.version=21 jacoco:report'
- name: "Style check - Java 21"
java_version: 21
test_suite: 'compile -Djava.version=21 com.mycila:license-maven-plugin:check pmd:pmd pmd:cpd pmd:check pmd:cpd-check javadoc:jar'
- name: "Standalone integration 4.0 - Java 21"
java_version: 21
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -DskipUTs -Djava.version=21'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 4.1 - Java 21"
java_version: 21
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=4.1 -Djava.version=21 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 5.0 - Java 21"
java_version: 21
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=5.0 -Djava.version=21 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Python integration - Java 21"
java_version: 21
test_suite: 'verify -P docker-integration-test,python-integration-tests -Djava.version=21 -DskipUTs'
artifacts_dir: "ecchronos-binary/target"
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Cache local Maven repository
uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
with:
path: ~/.m2/repository
key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
build-${{ runner.os }}-maven-
- name: Set up JDK ${{ matrix.java_version }}
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0
with:
java-version: ${{ matrix.java_version }}
distribution: 'temurin'
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Set up Python 3
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: 3
- name: install dependencies
run: mvn install -DskipTests=true
- run: mvn $TEST_SUITE -B
id: tests
env:
TEST_SUITE: ${{ matrix.test_suite }}
- name: Upload artifacts
if: ${{ failure() && steps.tests.conclusion == 'failure' }}
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: ${{ matrix.name }}-cassandra-logs
path: ${{ matrix.artifacts_dir }}/cassandra*.log
if-no-files-found: 'ignore'
- name: Upload coverage to Codecov
uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab # v4.1.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
files: >
./rest/target/site/jacoco/jacoco.xml,
./application/target/site/jacoco/jacoco.xml,
./core/target/site/jacoco/jacoco.xml,
./fm.impl/target/site/jacoco/jacoco.xml,
./connection/target/site/jacoco/jacoco.xml