-
Notifications
You must be signed in to change notification settings - Fork 94
172 lines (169 loc) · 6.48 KB
/
verify-package.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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
name: "MiNiFi-CPP Verify Package"
on: [workflow_dispatch]
env:
DOCKER_CMAKE_FLAGS: -DDOCKER_VERIFY_THREAD=3 -DUSE_SHARED_LIBS= -DSTRICT_GSL_CHECKS=AUDIT -DCI_BUILD=ON -DENABLE_AWS=ON -DENABLE_KAFKA=ON -DENABLE_MQTT=ON -DENABLE_AZURE=ON -DENABLE_SQL=ON \
-DENABLE_SPLUNK=ON -DENABLE_GCP=ON -DENABLE_OPC=ON -DENABLE_PYTHON_SCRIPTING=ON -DENABLE_LUA_SCRIPTING=ON -DENABLE_KUBERNETES=ON -DENABLE_TEST_PROCESSORS=ON -DENABLE_PROMETHEUS=ON \
-DENABLE_ELASTICSEARCH=OFF -DENABLE_GRAFANA_LOKI=ON -DENABLE_COUCHBASE=ON -DDOCKER_BUILD_ONLY=ON
CCACHE_DIR: ${{ GITHUB.WORKSPACE }}/.ccache
jobs:
rocky-build:
name: "Build package (Rocky 8)"
runs-on: ubuntu-22.04
timeout-minutes: 180
steps:
- id: checkout
uses: actions/checkout@v4
- name: cache restore
uses: actions/cache/restore@v4
with:
path: ~/.ccache
key: verify-package-ccache-${{github.ref}}-${{github.sha}}
restore-keys: |
verify-package-ccache-${{github.ref}}-
verify-package-ccache-refs/heads/main-
- id: install_deps
run: |
sudo apt update
sudo apt install -y ccache cmake
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
- id: build
run: |
if [ -d ~/.ccache ]; then mv ~/.ccache .; fi
mkdir build && cd build && cmake ${DOCKER_CMAKE_FLAGS} -DDOCKER_CCACHE_DUMP_LOCATION=${{ env.CCACHE_DIR }} .. && make rocky
- name: cache save
uses: actions/cache/save@v4
if: always()
with:
path: ${{ env.CCACHE_DIR }}
key: verify-package-ccache-${{github.ref}}-${{github.sha}}
- uses: actions/upload-artifact@v4
with:
name: minifi-tar
path: build/nifi-minifi-cpp-*-bin-rockylinux.tar.gz
if-no-files-found: error
docker-tests:
name: "${{ matrix.platform.name }}"
runs-on: ubuntu-20.04
timeout-minutes: 180
needs: rocky-build
strategy:
fail-fast: false
matrix:
platform: [
{ name: "Rocky Linux 8",
id: "rocky8",
build_cmd: "make rocky8_from_rocky_package",
verify_cmd: "make docker-verify-rocky8" },
{ name: "Rocky Linux 9",
id: "rocky9",
build_cmd: "make rocky9_from_rocky_package",
verify_cmd: "make docker-verify-rocky9" },
{ name: "Ubuntu 22.04",
id: "ubuntu_jammy",
build_cmd: "make jammy_from_rocky_package",
verify_cmd: "make docker-verify-jammy" },
{ name: "Ubuntu 24.04",
id: "ubuntu_noble",
build_cmd: "make noble_from_rocky_package",
verify_cmd: "make docker-verify-noble" },
{ name: "Debian 11",
id: "debian_bullseye",
build_cmd: "make bullseye_from_rocky_package",
verify_cmd: "make docker-verify-bullseye" },
{ name: "Debian 12",
id: "debian_bookworm",
build_cmd: "make bookworm_from_rocky_package",
verify_cmd: "make docker-verify-bookworm" },
]
steps:
- id: checkout
uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: minifi-tar
path: build
- id: install_deps
run: |
sudo apt update
sudo apt install -y python3-virtualenv
- run: cd build && cmake ${DOCKER_CMAKE_FLAGS} .. \
&& ${{ matrix.platform.build_cmd }} && ${{ matrix.platform.verify_cmd }}
- name: Test Reporter
if: always()
uses: phoenix-actions/test-reporting@v15
with:
name: "${{ matrix.platform.name }}"
path: build/behavex_output/behave/*.xml
reporter: java-junit
output-to: 'step-summary'
list-tests: 'failed'
list-suites: 'failed'
- name: Upload artifact
if: failure()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform.id }}_behavex_output
path: build/behavex_output
docker-python-tests:
name: "${{ matrix.platform.name }}"
runs-on: ubuntu-20.04
timeout-minutes: 180
needs: rocky-build
strategy:
fail-fast: false
matrix:
platform: [
{ name: "Rocky Linux 8 Python",
id: "rocky8",
build_cmd: "make rocky8_py_from_rocky_package",
verify_cmd: "make docker-verify-rocky8_py" },
{ name: "Rocky Linux 9 Python",
id: "rocky9",
build_cmd: "make rocky9_py_from_rocky_package",
verify_cmd: "make docker-verify-rocky9_py" },
{ name: "Patchelf-ed Ubuntu 22.04 Python",
id: "patchelfed_ubuntu22.04",
build_cmd: "make patched_jammy_py_from_rocky_package",
verify_cmd: "make docker-verify-patched_jammy_py" },
{ name: "Patchelf-ed Debian 11 Python",
id: "patchelfed_debian11",
build_cmd: "make patched_bullseye_py_from_rocky_package",
verify_cmd: "make docker-verify-patched_bullseye_py" },
{ name: "Ubuntu 22.04 with Anaconda Python",
id: "ubuntu22.04_anaconda",
build_cmd: "make jammy_py_from_rocky_package && make conda_jammy_py_from_rocky_package",
verify_cmd: "make docker-verify-conda_jammy_py" },
{ name: "Rocky Linux 9 in virtualenv Python",
id: "rocky9_venv",
build_cmd: "make rocky9_py_from_rocky_package && make venv_rocky9_py_from_rocky_package",
verify_cmd: "make docker-verify-venv_rocky9_py" }
]
steps:
- id: checkout
uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: minifi-tar
path: build
- id: install_deps
run: |
sudo apt update
sudo apt install -y python3-virtualenv
- run: cd build && cmake -DENABLE_PYTHON_SCRIPTING=ON -DDOCKER_BUILD_ONLY=ON .. \
&& ${{ matrix.platform.build_cmd }} && ${{ matrix.platform.verify_cmd }}
- name: Test Reporter
if: always()
uses: phoenix-actions/test-reporting@v15
with:
name: "${{ matrix.platform.name }}"
path: build/behavex_output/behave/*.xml
reporter: java-junit
output-to: 'step-summary'
list-tests: 'failed'
list-suites: 'failed'
- name: Upload artifact
if: failure()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform.id }}_behavex_output
path: build/behavex_output