Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

producer c release candidate #435

Merged
merged 44 commits into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
6f4964f
Added 1-20% jitter to expiration value stored by AwsCredentials struc…
jdelapla Oct 29, 2021
e039399
reduced clumped distribution between 1-2%
jdelapla May 9, 2022
8a87028
fix auth query template, used by signAwsRequestInfoQueryParam
mjdietzx Sep 7, 2022
220bffd
aws service configurable for presigned urls, eg s3
mjdietzx Sep 16, 2022
0619235
Merge pull request #254 from awslabs/jitter_iot_credentials
jdelapla Sep 1, 2023
75d53ab
Update PIC to include modified threadpool teardown
jdelapla Sep 18, 2023
d932a9d
use git tag commit from pic-develop
niyatim23 Sep 19, 2023
233ee87
Merge branch 'master' into m-to-d-151
disa6302 Sep 19, 2023
aff83ce
Merge pull request #411 from awslabs/m-to-d-151
disa6302 Sep 20, 2023
02b2fa2
Update PIC to include modified threadpool teardown
jdelapla Sep 18, 2023
9583d7b
use git tag commit from pic-develop
niyatim23 Sep 19, 2023
470a8fd
Merge branch 'modify-threadpool-teardown' of https://github.com/awsla…
niyatim23 Sep 20, 2023
fd562a1
Merge pull request #410 from awslabs/modify-threadpool-teardown
disa6302 Sep 20, 2023
115b005
Set newly added timeouts to default value
daveisfera Sep 14, 2023
a2541d9
Expose CONSTRAINED_DEVICE option
jdelapla Oct 10, 2023
5e8a5cf
Merge pull request #415 from awslabs/constrained-device-defined
jdelapla Oct 11, 2023
f934b6c
use develop tag
jdelapla Oct 11, 2023
3520f04
Merge pull request #416 from awslabs/update-pic-hash
jdelapla Oct 13, 2023
ff897a5
Add logging section (#417)
disa6302 Oct 23, 2023
4f1e798
Introduce M1 build in the CI (#419)
niyatim23 Nov 29, 2023
52f562f
Add setting of fragment meta to the sample
daveisfera Aug 10, 2023
be0742d
Formatting + style
sirknightj Dec 5, 2023
e8b8c2b
More style
sirknightj Dec 5, 2023
5963624
Small optimization
sirknightj Dec 5, 2023
b9cd45c
Merge branch 'make_service_configurable' of github.com:mjdietzx/amazo…
jdelapla Dec 5, 2023
27d593b
Update readme
sirknightj Dec 5, 2023
fd9e19f
Clang format
jdelapla Dec 5, 2023
eebe8a7
Clang format, again
jdelapla Dec 5, 2023
83c31c3
Merge pull request #421 from awslabs/daveisfera-pr-397
jdelapla Dec 6, 2023
b237bd4
Merge pull request #422 from awslabs/PR-323
jdelapla Dec 6, 2023
70a42f7
Add gcc paths (#420)
stefankiesz Dec 6, 2023
94b9b0c
spotaws PR #226 (#423)
stefankiesz Dec 6, 2023
ed2be37
Revert "Pr 323"
sirknightj Dec 7, 2023
d94c0fd
Added Iot credential usage to producer c samples (#220)
jdelapla Dec 7, 2023
530db0f
Update thing name length to be 128 as per AWS docs (#426)
disa6302 Dec 20, 2023
2c046f2
Release build for producer C (#428)
disa6302 Jan 17, 2024
09785b1
Handle aws special regions (#430)
hassanctech Jan 18, 2024
13523a2
run windows tests with debug logging (#431)
hassanctech Jan 18, 2024
76a72e9
fix tsan related issues (#427)
hassanctech Feb 5, 2024
743130c
update pic hash to release candidate
hassanctech Feb 8, 2024
ed0cfd9
add gcc m1 build
hassanctech Feb 8, 2024
912b1b0
bump version for release
hassanctech Feb 9, 2024
773e142
Add PR description lint (#438)
disa6302 Feb 22, 2024
10363ed
update pic to release tag
hassanctech Mar 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
*Issue #, if available:*

*What was changed?*

*Why was it changed?*

*How was it changed?*

*What testing was done for the changes?*

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
129 changes: 97 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ jobs:
id-token: write
contents: read
env:
CC: gcc
CXX: g++
CC: /usr/local/bin/gcc-13
CXX: /usr/local/bin/g++-13
AWS_KVS_LOG_LEVEL: 2
steps:
- name: Clone repository
Expand Down Expand Up @@ -58,8 +58,6 @@ jobs:
runs-on: macos-11
env:
AWS_KVS_LOG_LEVEL: 2
LDFLAGS: -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
CPATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/
permissions:
id-token: write
contents: read
Expand All @@ -85,14 +83,78 @@ jobs:
cd build
./tst/producer_test

mac-os-m1-build-clang:
runs-on: macos-13-xlarge
env:
AWS_KVS_LOG_LEVEL: 2
permissions:
id-token: write
contents: read
steps:
- name: Clone repository
uses: actions/checkout@v3
- name: Build repository
run: |
brew install pkgconfig
brew unlink openssl # it seems the libcurl is trying to access this openssl despite explicitly setting it to our build
mkdir build && cd build
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++
make
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
aws-region: ${{ secrets.AWS_REGION }}
role-duration-seconds: 10800
- name: Run tests
run: |
cd build
./tst/producer_test

mac-os-m1-build-gcc:
runs-on: macos-13-xlarge
env:
CC: /opt/homebrew/bin/gcc-13
CXX: /opt/homebrew/bin/g++-13
AWS_KVS_LOG_LEVEL: 2
permissions:
id-token: write
contents: read
steps:
- name: Setup XCode version 15.2
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.2'
- name: Clone repository
uses: actions/checkout@v3
- name: Build repository
run: |
brew install pkgconfig
brew unlink openssl # it seems the libcurl is trying to access this openssl despite explicitly setting it to our build
mkdir build && cd build
cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE
make
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
aws-region: ${{ secrets.AWS_REGION }}
role-duration-seconds: 10800
- name: Run tests
run: |
cd build
./tst/producer_test

mac-os-build-gcc-local-openssl:
runs-on: macos-11
permissions:
id-token: write
contents: read
env:
CC: gcc
CXX: g++
CC: /usr/local/bin/gcc-13
CXX: /usr/local/bin/g++-13
AWS_KVS_LOG_LEVEL: 2
LDFLAGS: -L/usr/local/opt/openssl@3/lib
CPPFLAGS: -I/usr/local/opt/openssl@3/include
Expand Down Expand Up @@ -268,31 +330,34 @@ jobs:
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 150m ./tst/producer_test --gtest_break_on_failure

# thread-sanitizer:
# runs-on: ubuntu-20.04
# permissions:
# id-token: write
# contents: read
# env:
# CC: clang
# CXX: clang++
# AWS_KVS_LOG_LEVEL: 2
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DTHREAD_SANITIZER=TRUE -DBUILD_COMMON_LWS=TRUE
# make
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 150m ./tst/producer_test --gtest_break_on_failure
#thread-sanitizer:
# runs-on: ubuntu-20.04
# permissions:
# id-token: write
# contents: read
# env:
# CC: clang
# CXX: clang++
# AWS_KVS_LOG_LEVEL: 2
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DTHREAD_SANITIZER=TRUE -DBUILD_COMMON_LWS=TRUE
# make
# - name: Run tests
# run: |
# cd build
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 150m ./tst/producer_test --gtest_break_on_failure

ubuntu-gcc:
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -331,7 +396,7 @@ jobs:
windows-msvc:
runs-on: windows-2022
env:
AWS_KVS_LOG_LEVEL: 7
AWS_KVS_LOG_LEVEL: 2
permissions:
id-token: write
contents: read
Expand Down
55 changes: 55 additions & 0 deletions .github/workflows/pr-desc-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: PR Description Check

on:
pull_request:
branches:
- develop
- master
types:
- opened
- synchronize
- reopened
- edited

jobs:
check-description:
runs-on: macos-latest
steps:
- name: Install GitHub CLI
run: |
brew install gh

- name: Check PR Description
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pr_description=$(gh pr view https://github.com/${GITHUB_REPOSITORY}/pull/${{ github.event.pull_request.number }} --json body -q ".body")
error_occurred=0
# Define minimum character count for each section
MIN_CHARS=25

# Extract contents
what_changed=$(echo "$pr_description" | sed -n -e '/\*What was changed?\*/,/\*/p' | sed '$d' | sed '1d')
why_changed=$(echo "$pr_description" | sed -n -e '/\*Why was it changed?\*/,/\*/p' | sed '$d' | sed '1d')
how_changed=$(echo "$pr_description" | sed -n -e '/\*How was it changed?\*/,/\*/p' | sed '$d' | sed '1d')
testing_done=$(echo "$pr_description" | sed -n -e '/\*What testing was done for the changes?\*/,/\*/p' | sed '$d' | sed '1d')

if [[ ${#what_changed} -lt $MIN_CHARS ]]; then
echo "PR description for what changed section is either missing or too short."
error_occurred=1
fi
if [[ ${#why_changed} -lt $MIN_CHARS ]]; then
echo "PR description for why it changed section is either missing or too short."
error_occurred=1
fi
if [[ ${#how_changed} -lt $MIN_CHARS ]]; then
echo "PR description for how was it changed section is either missing or too short."
error_occurred=1
fi
if [[ ${#testing_done} -lt $MIN_CHARS ]]; then
echo "PR description for testing section are either missing or too short."
error_occurred=1
fi
if [[ $error_occurred -eq 1 ]]; then
exit 1
fi
3 changes: 2 additions & 1 deletion CMake/Dependencies/libcurl-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.6.3)

project(libcurl-download NONE)
project(libcurl-download LANGUAGES C)

find_program(MAKE_EXE NAMES make)

Expand All @@ -17,6 +17,7 @@ endif()

set(CMAKE_ARGS
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}
-DBUILD_CURL_EXE=0
-DHTTP_ONLY=1)
Expand Down
1 change: 0 additions & 1 deletion CMake/Dependencies/libgtest-CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 3.6.3)
project(libgtest-download NONE)

include(ExternalProject)

ExternalProject_Add(libgtest-download
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.12.1
Expand Down
14 changes: 0 additions & 14 deletions CMake/Dependencies/libjsmn-CMakeLists.txt

This file was deleted.

17 changes: 0 additions & 17 deletions CMake/Dependencies/libjsmn-add-cmakelists.patch

This file was deleted.

4 changes: 2 additions & 2 deletions CMake/Dependencies/libkvspic-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
cmake_minimum_required(VERSION 3.6.3)

project(libkvspic-download NONE)
project(libkvspic-download LANGUAGES C)

include(ExternalProject)

# clone repo only
ExternalProject_Add(libkvspic-download
GIT_REPOSITORY https://github.com/awslabs/amazon-kinesis-video-streams-pic.git
GIT_TAG 57637ea593f4b43c509413a44d993ed08d7f2616
GIT_TAG v1.1.0
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvspic-src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/kvspic-build"
CMAKE_ARGS
Expand Down
4 changes: 2 additions & 2 deletions CMake/Dependencies/libmbedtls-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.6.3)

project(libmbedtls-download NONE)
project(libmbedtls-download LANGUAGES C)

include(ExternalProject)

Expand All @@ -22,7 +22,7 @@ ExternalProject_Add(
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}
-DUSE_SHARED_MBEDTLS_LIBRARY=${BUILD_SHARED}
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_MACOSX_RPATH=${CMAKE_MACOSX_RPATH}
BUILD_ALWAYS TRUE
TEST_COMMAND "")
8 changes: 7 additions & 1 deletion CMake/Dependencies/libopenssl-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.6.3)

project(libopenssl-download NONE)
project(libopenssl-download LANGUAGES C)

if (WIN32)
find_program(MAKE_EXE NAMES nmake)
Expand All @@ -11,6 +11,12 @@ else()
SET(OPENSSL_EXTRA ${OPENSSL_EXTRA} no-shared no-dso)
endif()

if (DEFINED CMAKE_OSX_SYSROOT AND NOT CMAKE_OSX_SYSROOT STREQUAL "")
if ("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
SET(OPENSSL_EXTRA ${OPENSSL_EXTRA} -I${CMAKE_OSX_SYSROOT}/usr/include -L${CMAKE_OSX_SYSROOT}/usr/lib)
endif()
endif()

if (DEFINED BUILD_OPENSSL_PLATFORM AND NOT BUILD_OPENSSL_PLATFORM STREQUAL OFF)
SET(CONFIGURE_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/build/src/project_libopenssl/Configure ${OPENSSL_EXTRA} --prefix=${OPEN_SRC_INSTALL_PREFIX} --openssldir=${OPEN_SRC_INSTALL_PREFIX} ${BUILD_OPENSSL_PLATFORM} -Wno-nullability-completeness -Wno-expansion-to-defined)
else()
Expand Down
3 changes: 2 additions & 1 deletion CMake/Dependencies/libwebsockets-CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.6.3)

project(libwebsocket-download NONE)
project(libwebsocket-download LANGUAGES C)

include(ExternalProject)

Expand All @@ -25,6 +25,7 @@ ExternalProject_Add(project_libwebsockets
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${OPEN_SRC_INSTALL_PREFIX}
-DLWS_WITH_HTTP2=1
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DLWS_HAVE_HMAC_CTX_new=1
-DLWS_HAVE_SSL_EXTRA_CHAIN_CERTS=1
-DLWS_HAVE_OPENSSL_ECDH_H=1
Expand Down
Loading
Loading