-
Notifications
You must be signed in to change notification settings - Fork 36
91 lines (87 loc) · 3.46 KB
/
actions.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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:
- name: "Unit tests"
test_suite: 'test jacoco:report'
- name: "Style check"
test_suite: 'compile com.mycila:license-maven-plugin:check pmd:pmd pmd:cpd pmd:check pmd:cpd-check javadoc:jar'
- name: "OSGi integration"
test_suite: 'install -P docker-integration-test,osgi-integration-tests -DskipUTs'
artifacts_dir: "osgi-integration/target"
- name: "Standalone integration 4.0"
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Standalone integration 4.1"
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-alpha1"
test_suite: 'verify -P docker-integration-test,standalone-integration-tests -Dit.cassandra.version=5.0-alpha1 -DskipUTs'
artifacts_dir: "standalone-integration/target"
- name: "Docker Integration"
test_suite: 'verify -P docker-integration-test -DskipUTs'
artifacts_dir: "ecchronos-binary/target"
- name: "Python integration"
test_suite: 'verify -P python-integration-tests -DskipUTs'
artifacts_dir: "ecchronos-binary/target"
steps:
- uses: actions/checkout@v3
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
build-${{ runner.os }}-maven-
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
- uses: actions/checkout@v3
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
- 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@v3
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@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: >
./rest/target/site/jacoco/jacoco.xml,
./core.osgi/target/site/jacoco/jacoco.xml,
./application/target/site/jacoco/jacoco.xml,
./osgi-integration/target/site/jacoco/jacoco.xml,
./core/target/site/jacoco/jacoco.xml,
./fm.impl/target/site/jacoco/jacoco.xml,
./connection/target/site/jacoco/jacoco.xml