Skip to content

Commit 380b09d

Browse files
authored
Request response client (#764)
1 parent fe693fc commit 380b09d

File tree

70 files changed

+7393
-470
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+7393
-470
lines changed

.builder/actions/build_samples.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,17 @@ def run(self, env):
1919

2020
steps = []
2121
samples = [
22+
'samples/deprecated/fleet_provisioning/fleet_provisioning',
23+
'samples/deprecated/fleet_provisioning/mqtt5_fleet_provisioning',
24+
'samples/deprecated/jobs/job_execution',
25+
'samples/deprecated/jobs/mqtt5_job_execution',
26+
'samples/deprecated/shadow/shadow_sync',
27+
'samples/deprecated/shadow/mqtt5_shadow_sync',
2228
'samples/greengrass/basic_discovery',
2329
'samples/greengrass/ipc',
24-
'samples/fleet_provisioning/fleet_provisioning',
25-
'samples/fleet_provisioning/mqtt5_fleet_provisioning',
26-
'samples/jobs/job_execution',
27-
'samples/jobs/mqtt5_job_execution',
30+
'samples/fleet_provisioning/provision-basic',
31+
'samples/fleet_provisioning/provision-csr',
32+
'samples/jobs/jobs-sandbox',
2833
'samples/mqtt/basic_connect',
2934
'samples/mqtt/custom_authorizer_connect',
3035
'samples/mqtt/pkcs11_connect',
@@ -40,8 +45,7 @@ def run(self, env):
4045
"samples/pub_sub/cycle_pub_sub",
4146
'samples/secure_tunneling/secure_tunnel',
4247
'samples/secure_tunneling/tunnel_notification',
43-
'samples/shadow/shadow_sync',
44-
'samples/shadow/mqtt5_shadow_sync',
48+
'samples/shadow/shadow-sandbox',
4549
]
4650

4751
defender_samples = []

.builder/actions/sdk-ci-prep.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import Builder
2+
import os
3+
4+
class SdkCiPrep(Builder.Action):
5+
def run(self, env):
6+
if os.environ.get('AWS_ACCESS_KEY_ID') != None:
7+
print(f"Local credentials exist")
8+
if os.environ.get('AWS_SESSION_TOKEN') != None:
9+
print(f"Local credentials are session based")
10+
else:
11+
print(f"No Local credentials")
12+
13+
14+
actions = [
15+
Builder.SetupCrossCICrtEnvironment()
16+
]
17+
return Builder.Script(actions, name='sdk-ci-prep')

.github/workflows/ci.yml

Lines changed: 65 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
- 'docs'
88

99
env:
10-
BUILDER_VERSION: v0.9.56
10+
BUILDER_VERSION: v0.9.72
1111
BUILDER_SOURCE: releases
1212
BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
1313
PACKAGE_NAME: aws-iot-device-sdk-cpp-v2
@@ -153,6 +153,11 @@ jobs:
153153
permissions:
154154
id-token: write # This is required for requesting the JWT
155155
steps:
156+
- name: configure AWS credentials (containers)
157+
uses: aws-actions/configure-aws-credentials@v2
158+
with:
159+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
160+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
156161
- name: Build ${{ env.PACKAGE_NAME }} + consumers
157162
run: |
158163
md ${{ env.CI_FOLDER }}
@@ -202,6 +207,11 @@ jobs:
202207
permissions:
203208
id-token: write # This is required for requesting the JWT
204209
steps:
210+
- name: configure AWS credentials (containers)
211+
uses: aws-actions/configure-aws-credentials@v2
212+
with:
213+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
214+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
205215
- name: Build ${{ env.PACKAGE_NAME }} + consumers
206216
run: |
207217
md ${{ env.CI_FOLDER }}
@@ -247,6 +257,11 @@ jobs:
247257
permissions:
248258
id-token: write # This is required for requesting the JWT
249259
steps:
260+
- name: configure AWS credentials (containers)
261+
uses: aws-actions/configure-aws-credentials@v2
262+
with:
263+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
264+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
250265
- name: Build ${{ env.PACKAGE_NAME }} + consumers
251266
run: |
252267
md ${{ env.CI_FOLDER }}
@@ -292,30 +307,40 @@ jobs:
292307
permissions:
293308
id-token: write # This is required for requesting the JWT
294309
steps:
295-
- name: Build ${{ env.PACKAGE_NAME }} + consumers
296-
run: |
297-
md ${{ env.CI_FOLDER }}
298-
cd ${{ env.CI_FOLDER }}
299-
python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz', 'builder.pyz')"
300-
python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF
301-
- name: Running samples in CI setup
302-
run: |
303-
python -m pip install boto3
304-
- name: configure AWS credentials (CyclePubSub)
305-
uses: aws-actions/configure-aws-credentials@v2
306-
with:
307-
role-to-assume: ${{ env.CI_CYCLEPUBSUB_ROLE }}
308-
aws-region: ${{ env.AWS_DEFAULT_REGION }}
309-
- name: Run and check AppVerifier
310-
run: |
311-
cd ${{ env.CI_FOLDER }}
312-
echo "Starting to run AppVerifier with cycle pub-sub sample"
313-
python ${{ env.CI_UTILS_FOLDER }}/appverifier_launch_sample.py --sample_file ".\aws-iot-device-sdk-cpp-v2\build\samples\pub_sub\cycle_pub_sub\RelWithDebInfo\cycle-pub-sub.exe" --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/CyclePubSub/cert' --sample_secret_private_key 'ci/CyclePubSub/key'
310+
- name: configure AWS credentials (containers)
311+
uses: aws-actions/configure-aws-credentials@v2
312+
with:
313+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
314+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
315+
- name: Build ${{ env.PACKAGE_NAME }} + consumers
316+
run: |
317+
md ${{ env.CI_FOLDER }}
318+
cd ${{ env.CI_FOLDER }}
319+
python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz', 'builder.pyz')"
320+
python builder.pyz build -p ${{ env.PACKAGE_NAME }} --cmake-extra=-DUSE_CPU_EXTENSIONS=OFF
321+
- name: Running samples in CI setup
322+
run: |
323+
python -m pip install boto3
324+
- name: configure AWS credentials (CyclePubSub)
325+
uses: aws-actions/configure-aws-credentials@v2
326+
with:
327+
role-to-assume: ${{ env.CI_CYCLEPUBSUB_ROLE }}
328+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
329+
- name: Run and check AppVerifier
330+
run: |
331+
cd ${{ env.CI_FOLDER }}
332+
echo "Starting to run AppVerifier with cycle pub-sub sample"
333+
python ${{ env.CI_UTILS_FOLDER }}/appverifier_launch_sample.py --sample_file ".\aws-iot-device-sdk-cpp-v2\build\samples\pub_sub\cycle_pub_sub\RelWithDebInfo\cycle-pub-sub.exe" --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/CyclePubSub/cert' --sample_secret_private_key 'ci/CyclePubSub/key'
314334
windows-shared-lib:
315335
runs-on: windows-latest
316336
permissions:
317337
id-token: write # This is required for requesting the JWT
318338
steps:
339+
- name: configure AWS credentials (containers)
340+
uses: aws-actions/configure-aws-credentials@v2
341+
with:
342+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
343+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
319344
- name: Build ${{ env.PACKAGE_NAME }} + consumers
320345
run: |
321346
md ${{ env.CI_FOLDER }}
@@ -334,6 +359,11 @@ jobs:
334359
id-token: write # This is required for requesting the JWT
335360
security-events: write # This is required for pkcs12 sample to sign the key
336361
steps:
362+
- name: configure AWS credentials (containers)
363+
uses: aws-actions/configure-aws-credentials@v2
364+
with:
365+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
366+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
337367
- name: Build ${{ env.PACKAGE_NAME }} + consumers
338368
run: |
339369
python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz', 'builder')"
@@ -398,6 +428,11 @@ jobs:
398428
permissions:
399429
id-token: write # This is required for requesting the JWT
400430
steps:
431+
- name: configure AWS credentials (containers)
432+
uses: aws-actions/configure-aws-credentials@v2
433+
with:
434+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
435+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
401436
- name: Build ${{ env.PACKAGE_NAME }} + consumers
402437
run: |
403438
python -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
@@ -458,6 +493,11 @@ jobs:
458493
sudo apt install cmake
459494
gcc --version
460495
cmake --version
496+
- name: configure AWS credentials (containers)
497+
uses: aws-actions/configure-aws-credentials@v2
498+
with:
499+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
500+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
461501
- name: Build ${{ env.PACKAGE_NAME }} + consumers
462502
run: |
463503
echo "Downloading source"
@@ -694,6 +734,11 @@ jobs:
694734
permissions:
695735
id-token: write # This is required for requesting the JWT
696736
steps:
737+
- name: configure AWS credentials (containers)
738+
uses: aws-actions/configure-aws-credentials@v2
739+
with:
740+
role-to-assume: ${{ env.CI_IOT_CONTAINERS }}
741+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
697742
- name: Build ${{ env.PACKAGE_NAME }} + consumers
698743
run: |
699744
echo "Downloading source"

.github/workflows/ci_run_fleet_provisioning_cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"language": "CPP",
3-
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/fleet_provisioning/fleet_provisioning/fleet-provisioning",
3+
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/deprecated/fleet_provisioning/fleet_provisioning/fleet-provisioning",
44
"sample_region": "us-east-1",
55
"sample_main_class": "",
66
"arguments": [

.github/workflows/ci_run_fleet_provisioning_mqtt5_cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"language": "CPP",
3-
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/fleet_provisioning/mqtt5_fleet_provisioning/mqtt5-fleet-provisioning",
3+
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/deprecated/fleet_provisioning/mqtt5_fleet_provisioning/mqtt5-fleet-provisioning",
44
"sample_region": "us-east-1",
55
"sample_main_class": "",
66
"arguments": [

.github/workflows/ci_run_jobs_cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"language": "CPP",
3-
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/jobs/job_execution/job-execution",
3+
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/deprecated/jobs/job_execution/job-execution",
44
"sample_region": "us-east-1",
55
"sample_main_class": "",
66
"arguments": [

.github/workflows/ci_run_jobs_mqtt5_cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"language": "CPP",
3-
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/jobs/mqtt5_job_execution/mqtt5-job-execution",
3+
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/deprecated/jobs/mqtt5_job_execution/mqtt5-job-execution",
44
"sample_region": "us-east-1",
55
"sample_main_class": "",
66
"arguments": [

.github/workflows/ci_run_shadow_cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"language": "CPP",
3-
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/shadow/shadow_sync/shadow-sync",
3+
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/deprecated/shadow/shadow_sync/shadow-sync",
44
"sample_region": "us-east-1",
55
"sample_main_class": "",
66
"arguments": [

.github/workflows/ci_run_shadow_mqtt5_cfg.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"language": "CPP",
3-
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/shadow/mqtt5_shadow_sync/mqtt5-shadow-sync",
3+
"sample_file": "./aws-iot-device-sdk-cpp-v2/build/samples/deprecated/shadow/mqtt5_shadow_sync/mqtt5-shadow-sync",
44
"sample_region": "us-east-1",
55
"sample_main_class": "",
66
"arguments": [

builder.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
"build",
2424
"build-samples"
2525
],
26+
"test_steps": [
27+
"sdk-ci-prep",
28+
"test"
29+
],
2630
"variants" : {
2731
"skip_sample": {
2832
"!build_steps": [
@@ -47,5 +51,12 @@
4751
"build-gg-samples"
4852
]
4953
}
54+
},
55+
"targets" : {
56+
"macos" : {
57+
"!test_steps": [
58+
"test"
59+
]
60+
}
5061
}
5162
}

codebuild/samples/shadow-linux.sh

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ set -e
44

55
env
66

7-
pushd $CODEBUILD_SRC_DIR/samples/shadow/shadow_sync
7+
# v1 MQTT311 shadow sample
8+
pushd $CODEBUILD_SRC_DIR/samples/deprecated/shadow/shadow_sync
89

910
mkdir _build
1011
cd _build
@@ -17,3 +18,29 @@ echo "Shadow-Sync test"
1718
./shadow-sync --endpoint $ENDPOINT --key /tmp/privatekey.pem --cert /tmp/certificate.pem --thing_name CI_CodeBuild_Thing --is_ci true
1819

1920
popd
21+
22+
# v1 MQTT5 shadow sample
23+
pushd $CODEBUILD_SRC_DIR/samples/deprecated/shadow/mqtt5_shadow_sync
24+
25+
mkdir _build
26+
cd _build
27+
cmake -DCMAKE_PREFIX_PATH=/tmp/install ..
28+
make -j
29+
30+
ENDPOINT=$(aws secretsmanager get-secret-value --secret-id "ci/endpoint" --query "SecretString" | cut -f2 -d":" | sed -e 's/[\\\"\}]//g')
31+
32+
echo "Shadow-Sync test"
33+
./mqtt5-shadow-sync --endpoint $ENDPOINT --key /tmp/privatekey.pem --cert /tmp/certificate.pem --thing_name CI_CodeBuild_Thing --is_ci true
34+
35+
popd
36+
37+
# v2 MQTT5 shadow sample - smaple is interactive so build but don't run
38+
39+
pushd $CODEBUILD_SRC_DIR/samples/shadow/shadow-sandbox
40+
41+
mkdir _build
42+
cd _build
43+
cmake -DCMAKE_PREFIX_PATH=/tmp/install ..
44+
make -j
45+
46+
popd

identity/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,9 @@ configure_file("cmake/iotidentity-cpp-config.cmake"
120120
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/iotidentity-cpp-config.cmake"
121121
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/IotIdentity-cpp/"
122122
COMPONENT Development)
123+
124+
if(NOT CMAKE_CROSSCOMPILING)
125+
if (BUILD_TESTING AND NOT BYO_CRYPTO)
126+
add_subdirectory(tests)
127+
endif()
128+
endif()

identity/include/aws/iotidentity/Config.h.in

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#pragma once
2-
/**
3-
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
/* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
43
* SPDX-License-Identifier: Apache-2.0.
4+
*
5+
* This file is generated
56
*/
67

78
#define AWS_IOT_DEVICE_SDK_CPP_V2_IOTIDENTITY_VERSION "@FULL_VERSION@"

0 commit comments

Comments
 (0)