Skip to content

Commit 5fb356e

Browse files
authored
Release 1.5.4 (#464)
* Bump the runner images & fix the CI (#462) * Bump the runner images * Bump configure-aws-credentials to v4. * Downgrade to clang 11 * Sanitzer options * Go back to clang 14. Turn off warnings as error for libwebsockets * ON -> 1 * Wno-error via CFLAGS * Pass C_FLAGS directly * Bump PIC version and small stack size test (#461) * Bump PIC and small stack size test * Bump configure-aws-creds to v4 * Move AWS credentials to after build * Add permissions * Cd build * Use preinstalled toolchain * Check for seg fault message * Check exit code * Update user agent from 1.5.3 to 1.5.4 (#463)
1 parent 0d23ba8 commit 5fb356e

File tree

4 files changed

+67
-28
lines changed

4 files changed

+67
-28
lines changed

.github/workflows/ci.yml

+60-25
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
bash scripts/check-clang.sh
2525
2626
mac-os-build-gcc:
27-
runs-on: macos-12
27+
runs-on: macos-13
2828
permissions:
2929
id-token: write
3030
contents: read
@@ -43,7 +43,7 @@ jobs:
4343
cmake .. --trace -DBUILD_TEST=TRUE
4444
make
4545
- name: Configure AWS Credentials
46-
uses: aws-actions/configure-aws-credentials@v1-node16
46+
uses: aws-actions/configure-aws-credentials@v4
4747
with:
4848
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
4949
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -55,7 +55,7 @@ jobs:
5555
./tst/producer_test
5656
5757
mac-os-build-clang:
58-
runs-on: macos-12
58+
runs-on: macos-13
5959
env:
6060
AWS_KVS_LOG_LEVEL: 2
6161
permissions:
@@ -72,7 +72,7 @@ jobs:
7272
cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE
7373
make
7474
- name: Configure AWS Credentials
75-
uses: aws-actions/configure-aws-credentials@v1-node16
75+
uses: aws-actions/configure-aws-credentials@v4
7676
with:
7777
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
7878
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -101,7 +101,7 @@ jobs:
101101
cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_C_COMPILER=$(brew --prefix llvm@15)/bin/clang -DCMAKE_CXX_COMPILER=$(brew --prefix llvm@15)/bin/clang++
102102
make
103103
- name: Configure AWS Credentials
104-
uses: aws-actions/configure-aws-credentials@v1-node16
104+
uses: aws-actions/configure-aws-credentials@v4
105105
with:
106106
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
107107
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -132,7 +132,7 @@ jobs:
132132
cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE
133133
make
134134
- name: Configure AWS Credentials
135-
uses: aws-actions/configure-aws-credentials@v1-node16
135+
uses: aws-actions/configure-aws-credentials@v4
136136
with:
137137
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
138138
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -144,7 +144,7 @@ jobs:
144144
./tst/producer_test
145145
146146
mac-os-build-gcc-local-openssl:
147-
runs-on: macos-12
147+
runs-on: macos-13
148148
permissions:
149149
id-token: write
150150
contents: read
@@ -165,7 +165,7 @@ jobs:
165165
cmake .. -DBUILD_TEST=TRUE -DLOCAL_OPENSSL_BUILD=ON
166166
make
167167
- name: Configure AWS Credentials
168-
uses: aws-actions/configure-aws-credentials@v1-node16
168+
uses: aws-actions/configure-aws-credentials@v4
169169
with:
170170
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
171171
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -177,7 +177,7 @@ jobs:
177177
./tst/producer_test
178178
179179
mac-os-build-clang-local-openssl:
180-
runs-on: macos-12
180+
runs-on: macos-13
181181
env:
182182
AWS_KVS_LOG_LEVEL: 2
183183
LDFLAGS: -L/usr/local/opt/openssl@3/lib
@@ -196,7 +196,7 @@ jobs:
196196
cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DLOCAL_OPENSSL_BUILD=ON
197197
make
198198
- name: Configure AWS Credentials
199-
uses: aws-actions/configure-aws-credentials@v1-node16
199+
uses: aws-actions/configure-aws-credentials@v4
200200
with:
201201
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
202202
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -208,7 +208,7 @@ jobs:
208208
./tst/producer_test
209209
210210
linux-gcc-code-coverage:
211-
runs-on: ubuntu-20.04
211+
runs-on: ubuntu-latest
212212
env:
213213
AWS_KVS_LOG_LEVEL: 2
214214
permissions:
@@ -223,7 +223,7 @@ jobs:
223223
cmake .. -DCODE_COVERAGE=TRUE -DBUILD_TEST=TRUE -DBUILD_COMMON_LWS=TRUE
224224
make
225225
- name: Configure AWS Credentials
226-
uses: aws-actions/configure-aws-credentials@v1-node16
226+
uses: aws-actions/configure-aws-credentials@v4
227227
with:
228228
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
229229
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -241,7 +241,7 @@ jobs:
241241
bash <(curl -s https://codecov.io/bash)
242242
243243
address-sanitizer:
244-
runs-on: ubuntu-20.04
244+
runs-on: ubuntu-latest
245245
permissions:
246246
id-token: write
247247
contents: read
@@ -258,7 +258,7 @@ jobs:
258258
cmake .. -DBUILD_TEST=TRUE -DADDRESS_SANITIZER=TRUE -DBUILD_COMMON_LWS=TRUE
259259
make
260260
- name: Configure AWS Credentials
261-
uses: aws-actions/configure-aws-credentials@v1-node16
261+
uses: aws-actions/configure-aws-credentials@v4
262262
with:
263263
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
264264
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -271,7 +271,7 @@ jobs:
271271
timeout --signal=SIGABRT 150m ./tst/producer_test --gtest_break_on_failure
272272
273273
undefined-behavior-sanitizer:
274-
runs-on: ubuntu-20.04
274+
runs-on: ubuntu-latest
275275
permissions:
276276
id-token: write
277277
contents: read
@@ -288,7 +288,7 @@ jobs:
288288
cmake .. -DBUILD_TEST=TRUE -DUNDEFINED_BEHAVIOR_SANITIZER=TRUE -DBUILD_COMMON_LWS=TRUE
289289
make
290290
- name: Configure AWS Credentials
291-
uses: aws-actions/configure-aws-credentials@v1-node16
291+
uses: aws-actions/configure-aws-credentials@v4
292292
with:
293293
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
294294
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -313,7 +313,7 @@ jobs:
313313
# - name: Clone repository
314314
# uses: actions/checkout@v3
315315
# - name: Configure AWS Credentials
316-
# uses: aws-actions/configure-aws-credentials@v1-node16
316+
# uses: aws-actions/configure-aws-credentials@v4
317317
# with:
318318
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
319319
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -339,7 +339,7 @@ jobs:
339339
# - name: Clone repository
340340
# uses: actions/checkout@v3
341341
# - name: Configure AWS Credentials
342-
# uses: aws-actions/configure-aws-credentials@v1-node16
342+
# uses: aws-actions/configure-aws-credentials@v4
343343
# with:
344344
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
345345
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -356,7 +356,7 @@ jobs:
356356
# timeout --signal=SIGABRT 150m ./tst/producer_test --gtest_break_on_failure
357357

358358
ubuntu-gcc:
359-
runs-on: ubuntu-20.04
359+
runs-on: ubuntu-latest
360360
env:
361361
AWS_KVS_LOG_LEVEL: 2
362362
CC: gcc
@@ -377,7 +377,7 @@ jobs:
377377
cmake .. -DBUILD_TEST=TRUE
378378
make
379379
- name: Configure AWS Credentials
380-
uses: aws-actions/configure-aws-credentials@v1-node16
380+
uses: aws-actions/configure-aws-credentials@v4
381381
with:
382382
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
383383
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -408,7 +408,7 @@ jobs:
408408
git config --system core.longpaths true
409409
.github/build_windows.bat
410410
- name: Configure AWS Credentials
411-
uses: aws-actions/configure-aws-credentials@v1-node16
411+
uses: aws-actions/configure-aws-credentials@v4
412412
with:
413413
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
414414
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
@@ -420,7 +420,7 @@ jobs:
420420
& "D:\a\amazon-kinesis-video-streams-producer-c\amazon-kinesis-video-streams-producer-c\build\tst\producer_test.exe" --gtest_filter="-ProducerFunctionalityTest.pressure_on_buffer_duration_fail_new_connection_at_token_rotation"
421421
422422
arm64-cross-compilation:
423-
runs-on: ubuntu-20.04
423+
runs-on: ubuntu-latest
424424
env:
425425
CC: aarch64-linux-gnu-gcc
426426
CXX: aarch64-linux-gnu-g++
@@ -439,7 +439,7 @@ jobs:
439439
make
440440
file libcproducer.so
441441
linux-aarch64-cross-compilation:
442-
runs-on: ubuntu-20.04
442+
runs-on: ubuntu-latest
443443
env:
444444
CC: aarch64-linux-gnu-gcc
445445
CXX: aarch64-linux-gnu-g++
@@ -458,7 +458,7 @@ jobs:
458458
make
459459
file libcproducer.so
460460
arm32-cross-compilation:
461-
runs-on: ubuntu-20.04
461+
runs-on: ubuntu-latest
462462
env:
463463
CC: arm-linux-gnueabi-gcc
464464
CXX: arm-linux-gnueabi-g++
@@ -478,7 +478,7 @@ jobs:
478478
file libcproducer.so
479479
480480
linux-build-gcc-static:
481-
runs-on: ubuntu-20.04
481+
runs-on: ubuntu-latest
482482
steps:
483483
- name: Clone repository
484484
uses: actions/checkout@v3
@@ -487,3 +487,38 @@ jobs:
487487
mkdir build && cd build
488488
cmake .. -DBUILD_STATIC=ON
489489
make
490+
491+
linux-thread-size-check:
492+
runs-on: ubuntu-latest
493+
permissions:
494+
id-token: write
495+
contents: read
496+
steps:
497+
- name: Clone repository
498+
uses: actions/checkout@v3
499+
- name: Configure AWS Credentials
500+
uses: aws-actions/configure-aws-credentials@v4
501+
with:
502+
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
503+
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
504+
aws-region: ${{ secrets.AWS_REGION }}
505+
role-duration-seconds: 10800
506+
- name: Build Repository
507+
run: |
508+
mkdir build && cd build
509+
cmake .. -DBUILD_TEST=TRUE -DKVS_DEFAULT_STACK_SIZE=65536
510+
make -j$(nproc)
511+
- name: Run tests with expected failure
512+
run: |
513+
set +e
514+
cd build
515+
./tst/producer_test --gtest_filter="ProducerClientBasicTest.*"
516+
TEST_EXIT_CODE=$?
517+
518+
# 128 (abnormal exit) + 11 (segmentation fault) = 139
519+
if [ $TEST_EXIT_CODE -ne 139 ]; then
520+
echo "Unexpected exit code: $TEST_EXIT_CODE"
521+
exit 1
522+
fi
523+
echo "Test exited as expected with code $TEST_EXIT_CODE."
524+
shell: bash

CMake/Dependencies/libkvspic-CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ include(ExternalProject)
77
# clone repo only
88
ExternalProject_Add(libkvspic-download
99
GIT_REPOSITORY https://github.com/awslabs/amazon-kinesis-video-streams-pic.git
10-
GIT_TAG v1.1.0
10+
GIT_TAG v1.2.0
1111
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvspic-src"
1212
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvspic-build"
1313
CMAKE_ARGS

CMake/Dependencies/libwebsockets-CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ else()
1818
set(LWS_WITH_MBEDTLS OFF)
1919
endif()
2020

21+
# v3.2.3 of LWS does not support DISABLE_WERROR flag. Needed for Clang-14 due to build warnings
22+
set(LWS_CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error")
23+
2124
ExternalProject_Add(project_libwebsockets
2225
GIT_REPOSITORY https://github.com/warmcat/libwebsockets.git
2326
GIT_TAG v3.2.3
2427
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/build
2528
CMAKE_ARGS
2629
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}
30+
-DCMAKE_C_FLAGS=${LWS_CMAKE_C_FLAGS}
2731
-DLWS_WITH_HTTP2=1
2832
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
2933
-DLWS_HAVE_HMAC_CTX_new=1

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cmake_minimum_required(VERSION 3.6.3)
22
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
33
include(Utilities)
4-
project(KinesisVideoProducerC VERSION 1.5.3 LANGUAGES C)
4+
project(KinesisVideoProducerC VERSION 1.5.4 LANGUAGES C)
55

66
set(KINESIS_VIDEO_PRODUCER_C_MAJOR_VERSION 1)
77
set(KINESIS_VIDEO_PRODUCER_C_MINOR_VERSION 5)
8-
set(KINESIS_VIDEO_PRODUCER_C_PATCH_VERSION 3)
8+
set(KINESIS_VIDEO_PRODUCER_C_PATCH_VERSION 4)
99
set(KINESIS_VIDEO_PRODUCER_C_VERSION ${KINESIS_VIDEO_PRODUCER_C_MAJOR_VERSION}.${KINESIS_VIDEO_PRODUCER_C_MINOR_VERSION}.${KINESIS_VIDEO_PRODUCER_C_PATCH_VERSION})
1010

1111
include(GNUInstallDirs)

0 commit comments

Comments
 (0)