forked from projectnessie/nessie
-
Notifications
You must be signed in to change notification settings - Fork 0
149 lines (131 loc) · 3.79 KB
/
main.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
name: Main CI
on:
push:
branches:
- main
- release-*
paths-ignore:
- 'LICENSE'
- 'NOTICE'
- '**.md'
- '!site/**'
- '.github/renovate.json5'
- '.github/workflows/release*.yml'
- '.github/workflows/check*.yml'
- '.idea/**'
- '.editorconfig'
jobs:
java:
name: Java/Gradle
runs-on: ubuntu-20.04
env:
SPARK_LOCAL_IP: localhost
MAVEN_USERNAME: ${{ secrets.OSSRH_ACCESS_ID }}
steps:
- uses: actions/checkout@v3.2.0
- name: Setup runner
uses: ./.github/actions/setup-runner
- name: Setup Java, Gradle
uses: ./.github/actions/dev-tool-java
with:
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
- name: Gradle / spotless
uses: gradle/gradle-build-action@v2
with:
# 'spotlessCheck' separate: workaround until https://github.com/diffplug/spotless/issues/1215 is fixed
arguments: spotlessCheck
- name: Gradle / compile
uses: gradle/gradle-build-action@v2
with:
arguments: checkstyleMain checkstyleTest jar testClasses --scan
- name: Gradle / unit test
uses: gradle/gradle-build-action@v2
with:
arguments: test --scan
- name: Gradle / check incl. integ-test
uses: gradle/gradle-build-action@v2
with:
# '-x spotlessCheck': workaround until https://github.com/diffplug/spotless/issues/1215 is fixed
arguments: check -x spotlessCheck --scan
- name: Gradle / Gatling simulations
uses: gradle/gradle-build-action@v2
with:
arguments: gatlingRun
- name: Gradle / assemble + publish local
uses: gradle/gradle-build-action@v2
with:
arguments: |
assemble
codeCoverageReport -x test -x intTest
publishToMavenLocal
-Puber-jar
--scan
- name: Gradle / build tools integration tests
uses: gradle/gradle-build-action@v2
with:
arguments: buildToolsIntegrationTest
- name: Capture Test Reports
uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: test-results
path: |
**/build/reports/*
**/build/test-results/*
- name: Capture Results
uses: ./.github/actions/ci-results
native:
name: Java/Gradle/Native
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3.2.0
- name: Setup runner
uses: ./.github/actions/setup-runner
with:
more-memory: 'true'
- name: Setup Java, Gradle
uses: ./.github/actions/dev-tool-java
- name: Gradle / integration test native
uses: gradle/gradle-build-action@v2
with:
cache-read-only: true
arguments: |
--no-daemon
:nessie-quarkus:quarkusBuild
:nessie-quarkus:intTest
-Pnative
-Pdocker
--scan
- name: Capture Test Reports
uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: test-results-native
path: |
**/build/reports/*
**/build/test-results/*
python:
name: Python
runs-on: ubuntu-20.04
env:
working-directory: ./python
strategy:
max-parallel: 4
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10']
steps:
- uses: actions/checkout@v3.2.0
- name: Setup Python
uses: ./.github/actions/dev-tool-python
with:
python-version: ${{ matrix.python-version }}
- name: Test with tox
run: tox
working-directory: ${{env.working-directory}}
- uses: codecov/codecov-action@v3
if: github.repository_owner == 'projectnessie'
continue-on-error: true
with:
verbose: true
fail_ci_if_error: true
flags: python