Skip to content

Commit 2683191

Browse files
authored
Merge branch 'develop' into old-commits-kvssink
2 parents 1f8040b + a5ff9b7 commit 2683191

26 files changed

+647
-5387
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
*Issue #, if available:*
2+
- N/A
23

3-
*Description of changes:*
4+
*What was changed?*
5+
-
46

7+
*Why was it changed?*
8+
-
9+
10+
*How was it changed?*
11+
-
12+
13+
*What testing was done for the changes?*
14+
-
515

616
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
log4cplus.rootLogger=OFF

.github/valgrind/glib.supp

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
glib-dl-memory-leak-ubuntu-22.04
3+
Memcheck:Leak
4+
match-leak-kinds: definite
5+
fun:malloc
6+
fun:g_malloc
7+
obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.4
8+
obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7200.4
9+
fun:call_init.part.0
10+
fun:call_init
11+
fun:_dl_init
12+
obj:/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
13+
obj:*
14+
obj:*
15+
obj:*
16+
obj:*
17+
obj:*
18+
}
19+
20+
{
21+
glib-dl-memory-leak-ubuntu-20.04
22+
Memcheck:Leak
23+
match-leak-kinds: definite
24+
fun:malloc
25+
fun:g_malloc
26+
obj:/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6
27+
fun:call_init.part.0
28+
fun:call_init
29+
fun:_dl_init
30+
obj:/usr/lib/x86_64-linux-gnu/ld-2.31.so
31+
obj:*
32+
obj:*
33+
obj:*
34+
obj:*
35+
obj:*
36+
obj:*
37+
}

.github/workflows/ci.yml

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,27 @@ jobs:
2020
contents: read
2121
steps:
2222
- name: Clone repository
23-
uses: actions/checkout@v3
23+
uses: actions/checkout@v4
2424
- name: Install dependencies
2525
run: |
26-
brew install pkg-config openssl cmake gstreamer log4cplus
27-
brew unlink openssl
26+
brew install cmake gstreamer log4cplus
27+
- name: Setup cmake
28+
uses: jwlawson/actions-setup-cmake@v2
29+
with:
30+
cmake-version: '3.x'
2831
- name: Build repository
2932
run: |
3033
mkdir build && cd build
3134
sh -c 'cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE;cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_INSTALL_PREFIX=.'
3235
make
3336
make install
3437
- name: Configure AWS Credentials
35-
uses: aws-actions/configure-aws-credentials@v1-node16
38+
uses: aws-actions/configure-aws-credentials@v4
3639
with:
3740
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
3841
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
3942
aws-region: ${{ secrets.AWS_REGION }}
40-
role-duration-seconds: 10800
43+
role-duration-seconds: 3600
4144
- name: Run tests
4245
run: |
4346
cd build
@@ -62,11 +65,14 @@ jobs:
6265
AWS_KVS_LOG_LEVEL: 2
6366
steps:
6467
- name: Clone repository
65-
uses: actions/checkout@v3
68+
uses: actions/checkout@v4
6669
- name: Install dependencies
6770
run: |
68-
brew install pkg-config openssl cmake gstreamer log4cplus
69-
brew unlink openssl
71+
brew install cmake gstreamer log4cplus
72+
- name: Setup cmake
73+
uses: jwlawson/actions-setup-cmake@v2
74+
with:
75+
cmake-version: '3.x'
7076
- name: Build repository
7177
run: |
7278
mkdir build && cd build
@@ -81,20 +87,20 @@ jobs:
8187
fi
8288
- name: Configure AWS Credentials
8389
if: ${{ matrix.parallel-build == 'ON' }} # Only need to run the tests once
84-
uses: aws-actions/configure-aws-credentials@v1-node16
90+
uses: aws-actions/configure-aws-credentials@v4
8591
with:
8692
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
8793
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
8894
aws-region: ${{ secrets.AWS_REGION }}
89-
role-duration-seconds: 10800
95+
role-duration-seconds: 3600
9096
- name: Run tests
9197
if: ${{ matrix.parallel-build == 'ON' }}
9298
run: |
9399
cd build
94100
./tst/producerTest
95101
96102
linux-gcc-code-coverage:
97-
runs-on: ubuntu-20.04
103+
runs-on: ubuntu-22.04
98104
env:
99105
AWS_KVS_LOG_LEVEL: 2
100106
permissions:
@@ -111,16 +117,16 @@ jobs:
111117
- name: Build repository
112118
run: |
113119
mkdir build && cd build
114-
cmake .. -DCODE_COVERAGE=TRUE -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
120+
cmake .. -DCODE_COVERAGE=TRUE -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DCMAKE_INSTALL_PREFIX=.
115121
make
116122
make install
117123
- name: Configure AWS Credentials
118-
uses: aws-actions/configure-aws-credentials@v1-node16
124+
uses: aws-actions/configure-aws-credentials@v4
119125
with:
120126
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
121127
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
122128
aws-region: ${{ secrets.AWS_REGION }}
123-
role-duration-seconds: 10800
129+
role-duration-seconds: 3600
124130
- name: Run tests
125131
run: |
126132
cd build
@@ -129,11 +135,11 @@ jobs:
129135
- name: Code coverage
130136
run: |
131137
cd build
132-
for test_file in $(find CMakeFiles/KinesisVideoProducer.dir gstkvssink.dir KinesisVideoProducerJNI.dir -name '*.gcno'); do gcov $test_file; done
138+
for test_file in $(find CMakeFiles/KinesisVideoProducer.dir gstkvssink.dir -name '*.gcno'); do gcov $test_file; done
133139
bash <(curl -s https://codecov.io/bash)
134140
135141
address-sanitizer:
136-
runs-on: ubuntu-20.04
142+
runs-on: ubuntu-22.04
137143
permissions:
138144
id-token: write
139145
contents: read
@@ -152,24 +158,24 @@ jobs:
152158
- name: Build repository
153159
run: |
154160
mkdir build && cd build
155-
cmake .. -DBUILD_TEST=TRUE -DADDRESS_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
161+
cmake .. -DBUILD_TEST=TRUE -DADDRESS_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DCMAKE_INSTALL_PREFIX=.
156162
make
157163
make install
158164
- name: Configure AWS Credentials
159-
uses: aws-actions/configure-aws-credentials@v1-node16
165+
uses: aws-actions/configure-aws-credentials@v4
160166
with:
161167
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
162168
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
163169
aws-region: ${{ secrets.AWS_REGION }}
164-
role-duration-seconds: 10800
170+
role-duration-seconds: 3600
165171
- name: Run tests
166172
run: |
167173
cd build
168174
ulimit -c unlimited -S
169175
timeout --signal=SIGABRT 60m ./tst/producerTest
170176
171177
undefined-behavior-sanitizer:
172-
runs-on: ubuntu-20.04
178+
runs-on: ubuntu-22.04
173179
permissions:
174180
id-token: write
175181
contents: read
@@ -188,16 +194,16 @@ jobs:
188194
- name: Build repository
189195
run: |
190196
mkdir build && cd build
191-
cmake .. -DBUILD_TEST=TRUE -DUNDEFINED_BEHAVIOR_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
197+
cmake .. -DBUILD_TEST=TRUE -DUNDEFINED_BEHAVIOR_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DCMAKE_INSTALL_PREFIX=.
192198
make
193199
make install
194200
- name: Configure AWS Credentials
195-
uses: aws-actions/configure-aws-credentials@v1-node16
201+
uses: aws-actions/configure-aws-credentials@v4
196202
with:
197203
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
198204
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
199205
aws-region: ${{ secrets.AWS_REGION }}
200-
role-duration-seconds: 10800
206+
role-duration-seconds: 3600
201207
- name: Run tests
202208
run: |
203209
cd build
@@ -251,13 +257,13 @@ jobs:
251257
# run: |
252258
# sudo apt-get install -y libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
253259
# mkdir build && cd build
254-
# cmake .. -DBUILD_TEST=TRUE -DTHREAD_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE
260+
# cmake .. -DBUILD_TEST=TRUE -DTHREAD_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE
255261
# make
256262
# ulimit -c unlimited -S
257263
# timeout --signal=SIGABRT 20m ./tst/producerTest
258264

259265
ubuntu-gcc:
260-
runs-on: ubuntu-20.04
266+
runs-on: ubuntu-22.04
261267

262268
strategy:
263269
matrix:
@@ -285,7 +291,7 @@ jobs:
285291
- name: Build repository
286292
run: |
287293
mkdir build && cd build
288-
cmake .. -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=. -DPARALLEL_BUILD=${{ matrix.parallel-build }}
294+
cmake .. -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DCMAKE_INSTALL_PREFIX=. -DPARALLEL_BUILD=${{ matrix.parallel-build }}
289295
290296
if [[ "${{ matrix.parallel-build }}" == 'ON' ]]; then
291297
make -j install
@@ -295,12 +301,12 @@ jobs:
295301
296302
- name: Configure AWS Credentials
297303
if: ${{ matrix.parallel-build == 'ON' }} # Only need to run the tests once
298-
uses: aws-actions/configure-aws-credentials@v1-node16
304+
uses: aws-actions/configure-aws-credentials@v4
299305
with:
300306
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
301307
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
302308
aws-region: ${{ secrets.AWS_REGION }}
303-
role-duration-seconds: 10800
309+
role-duration-seconds: 3600
304310
- name: Run tests
305311
if: ${{ matrix.parallel-build == 'ON' }}
306312
run: |
@@ -317,16 +323,20 @@ jobs:
317323
contents: read
318324
steps:
319325
- name: Clone repository
320-
uses: actions/checkout@v3
326+
uses: actions/checkout@v4
327+
- name: Setup cmake
328+
uses: jwlawson/actions-setup-cmake@v2
329+
with:
330+
cmake-version: '3.x'
321331
- name: Move repository
322332
run: |
323333
mkdir C:\producer
324-
Move-Item -Path "D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\*" -Destination "D:\producer"
334+
Move-Item -Path "$env:GITHUB_WORKSPACE\*" -Destination "D:\producer"
325335
- name: Install dependencies
326336
run: |
327-
choco install nasm strawberryperl pkgconfiglite
328-
choco install gstreamer --version=1.22.8
329-
choco install gstreamer-devel --version=1.22.8
337+
choco install nasm strawberryperl
338+
choco install gstreamer --version=1.22.12
339+
choco install gstreamer-devel --version=1.22.12
330340
- name: Build repository
331341
run: |
332342
$env:Path += ';C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;D:\producer\open-source\local\lib;D:\producer\open-source\local\bin'
@@ -335,19 +345,19 @@ jobs:
335345
dir
336346
.\build_windows.bat
337347
- name: Configure AWS Credentials
338-
uses: aws-actions/configure-aws-credentials@v1-node16
348+
uses: aws-actions/configure-aws-credentials@v4
339349
with:
340350
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
341351
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
342352
aws-region: ${{ secrets.AWS_REGION }}
343-
role-duration-seconds: 10800
353+
role-duration-seconds: 3600
344354
- name: Run tests
345355
run: |
346356
$env:Path += ';C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;D:\producer\open-source\local\lib;D:\producer\open-source\local\bin'
347357
& "D:\producer\build\tst\producerTest.exe"
348358
349359
arm64-cross-compilation:
350-
runs-on: ubuntu-20.04
360+
runs-on: ubuntu-22.04
351361
env:
352362
CC: aarch64-linux-gnu-gcc
353363
CXX: aarch64-linux-gnu-g++
@@ -370,7 +380,7 @@ jobs:
370380
file libKinesisVideoProducer.so
371381
372382
linux-aarch64-cross-compilation:
373-
runs-on: ubuntu-20.04
383+
runs-on: ubuntu-22.04
374384
env:
375385
CC: aarch64-linux-gnu-gcc
376386
CXX: aarch64-linux-gnu-g++
@@ -393,7 +403,7 @@ jobs:
393403
file libKinesisVideoProducer.so
394404
395405
arm32-cross-compilation:
396-
runs-on: ubuntu-20.04
406+
runs-on: ubuntu-22.04
397407
env:
398408
CC: arm-linux-gnueabi-gcc
399409
CXX: arm-linux-gnueabi-g++
@@ -416,7 +426,7 @@ jobs:
416426
file libKinesisVideoProducer.so
417427
418428
linux-build-gcc-static:
419-
runs-on: ubuntu-20.04
429+
runs-on: ubuntu-22.04
420430
steps:
421431
- name: Clone repository
422432
uses: actions/checkout@v3
@@ -432,7 +442,7 @@ jobs:
432442
make
433443
434444
linux-build-gcc-shared:
435-
runs-on: ubuntu-20.04
445+
runs-on: ubuntu-22.04
436446
steps:
437447
- name: Clone repository
438448
uses: actions/checkout@v3

0 commit comments

Comments
 (0)