24
24
CI_JOBS_ROLE : ${{ secrets.AWS_CI_JOBS_ROLE }}
25
25
CI_FLEET_PROVISIONING_ROLE : ${{ secrets.AWS_CI_FLEET_PROVISIONING_ROLE }}
26
26
CI_DEVICE_ADVISOR : ${{ secrets.AWS_CI_DEVICE_ADVISOR_ROLE }}
27
+ CI_X509_ROLE : ${{ secrets.AWS_CI_X509_ROLE }}
27
28
CI_MQTT5_ROLE : ${{ secrets.AWS_CI_MQTT5_ROLE }}
28
29
29
30
jobs :
52
53
./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }}
53
54
# NOTE: we cannot run samples or DeviceAdvisor here due to container restrictions
54
55
55
-
56
56
raspberry :
57
57
runs-on : ubuntu-20.04 # latest
58
58
strategy :
76
76
aws s3 cp s3://aws-crt-test-stuff/ci/${{ env.BUILDER_VERSION }}/linux-container-ci.sh ./linux-container-ci.sh && chmod a+x ./linux-container-ci.sh
77
77
./linux-container-ci.sh ${{ env.BUILDER_VERSION }} aws-crt-${{ matrix.image }} build -p ${{ env.PACKAGE_NAME }}
78
78
79
-
80
79
windows :
81
80
runs-on : windows-latest
82
81
strategy :
@@ -123,18 +122,18 @@ jobs:
123
122
aws-region : ${{ env.AWS_DEFAULT_REGION }}
124
123
- name : run PubSub sample
125
124
run : |
126
- python ./utils/run_sample_ci.py --language Java --sample_file 'samples/BasicPubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --sample_main_class 'pubsub.PubSub'
125
+ python ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_pubsub_cfg.json
127
126
- name : run Windows Certificate Connect sample
128
127
run : |
129
- python ./utils/run_sample_ci.py --language Java --sample_file 'samples/WindowsCertConnect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --sample_run_certutil true --sample_main_class 'windowscertconnect.WindowsCertConnect'
128
+ python ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_windows_cert_connect_cfg.json
130
129
- name : configure AWS credentials (MQTT5)
131
130
uses : aws-actions/configure-aws-credentials@v1
132
131
with :
133
132
role-to-assume : ${{ env.CI_MQTT5_ROLE }}
134
133
aws-region : ${{ env.AWS_DEFAULT_REGION }}
135
134
- name : run MQTT5 PubSub sample
136
135
run : |
137
- python ./utils/run_sample_ci.py --language Java --sample_file 'samples/Mqtt5/PubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/mqtt5/us/mqtt5_thing/cert' --sample_secret_private_key 'ci/mqtt5/us/mqtt5_thing/key' --sample_main_class 'mqtt5.pubsub.PubSub'
136
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_mqtt5_pubsub_cfg.json
138
137
- name : configure AWS credentials (Device Advisor)
139
138
uses : aws-actions/configure-aws-credentials@v1
140
139
with :
@@ -190,15 +189,15 @@ jobs:
190
189
aws-region : ${{ env.AWS_DEFAULT_REGION }}
191
190
- name : run PubSub sample
192
191
run : |
193
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/BasicPubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --sample_main_class 'pubsub.PubSub'
192
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_pubsub_cfg.json
194
193
- name : configure AWS credentials (MQTT5)
195
194
uses : aws-actions/configure-aws-credentials@v1
196
195
with :
197
196
role-to-assume : ${{ env.CI_MQTT5_ROLE }}
198
197
aws-region : ${{ env.AWS_DEFAULT_REGION }}
199
198
- name : run MQTT5 PubSub sample
200
199
run : |
201
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Mqtt5/PubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/mqtt5/us/mqtt5_thing/cert' --sample_secret_private_key 'ci/mqtt5/us/mqtt5_thing/key' --sample_main_class 'mqtt5.pubsub.PubSub'
200
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_mqtt5_pubsub_cfg.json
202
201
- name : configure AWS credentials (Device Advisor)
203
202
uses : aws-actions/configure-aws-credentials@v1
204
203
with :
@@ -253,15 +252,15 @@ jobs:
253
252
aws-region : ${{ env.AWS_DEFAULT_REGION }}
254
253
- name : run PubSub sample
255
254
run : |
256
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/BasicPubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --sample_main_class 'pubsub.PubSub'
255
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_pubsub_cfg.json
257
256
- name : configure AWS credentials (MQTT5)
258
257
uses : aws-actions/configure-aws-credentials@v1
259
258
with :
260
259
role-to-assume : ${{ env.CI_MQTT5_ROLE }}
261
260
aws-region : ${{ env.AWS_DEFAULT_REGION }}
262
261
- name : run MQTT5 PubSub sample
263
262
run : |
264
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Mqtt5/PubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/mqtt5/us/mqtt5_thing/cert' --sample_secret_private_key 'ci/mqtt5/us/mqtt5_thing/key' --sample_main_class 'mqtt5.pubsub.PubSub'
263
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_mqtt5_pubsub_cfg.json
265
264
- name : configure AWS credentials (Device Advisor)
266
265
uses : aws-actions/configure-aws-credentials@v1
267
266
with :
@@ -336,55 +335,54 @@ jobs:
336
335
aws-region : ${{ env.AWS_DEFAULT_REGION }}
337
336
- name : run Basic Connect sample
338
337
run : |
339
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/BasicConnect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --sample_main_class 'basicconnect.BasicConnect'
338
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_basic_connect_cfg.json
340
339
- name : run Websocket Connect sample
341
340
run : |
342
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/WebsocketConnect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_arguments '--signing_region us-east-1' --sample_main_class 'websocketconnect.WebsocketConnect'
341
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_websocket_connect_cfg.json
343
342
- name : run PubSub sample
344
343
run : |
345
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/BasicPubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --sample_main_class 'pubsub.PubSub'
344
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_pubsub_cfg.json
346
345
- name : run CustomKeyOperations sample
347
346
run : |
348
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/CustomKeyOpsPubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/keyp8' --sample_main_class 'customkeyopspubsub.CustomKeyOpsPubSub'
347
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_custom_key_ops_cfg.json
349
348
- name : run PKCS11 Connect sample
350
349
run : |
351
350
mkdir -p /tmp/tokens
352
351
export SOFTHSM2_CONF=/tmp/softhsm2.conf
353
352
echo "directories.tokendir = /tmp/tokens" > /tmp/softhsm2.conf
354
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Pkcs11Connect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/keyp8' --sample_run_softhsm 'true' --sample_arguments '--pkcs11_lib "/usr/lib/softhsm/libsofthsm2.so" --pin 0000 --token_label "my-token" --key_label "my-key"' --sample_main_class 'pkcs11connect.Pkcs11Connect'
353
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_pkcs11_connect_cfg.json
355
354
- name : run Java keystore Connect sample
356
355
run : |
357
356
cert=$(aws secretsmanager get-secret-value --region us-east-1 --secret-id "ci/PubSub/cert" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$cert" > /tmp/certificate.pem
358
357
key=$(aws secretsmanager get-secret-value --region us-east-1 --secret-id "ci/PubSub/key" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\") && echo -e "$key" > /tmp/privatekey.pem
359
358
pkcs12_password=$(aws secretsmanager get-secret-value --region us-east-1 --secret-id "ci/PubSub/key_pkcs12_password" --query "SecretString" | cut -f2 -d":" | cut -f2 -d\")
360
359
openssl pkcs12 -export -in /tmp/certificate.pem -inkey /tmp/privatekey.pem -out /tmp/pkcs12-key.p12 -name PubSub_Thing_Alias -password pass:$pkcs12_password
361
-
362
360
keytool -importkeystore -srckeystore /tmp/pkcs12-key.p12 -destkeystore ./java_keystore.keys -srcstoretype PKCS12 -alias PubSub_Thing_Alias -srcstorepass $pkcs12_password -deststorepass $pkcs12_password
363
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/JavaKeystoreConnect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_arguments "--keystore ./java_keystore.keys --keystore_password $pkcs12_password --certificate_alias PubSub_Thing_Alias --certificate_password $pkcs12_password" --sample_main_class 'javakeystoreconnect.JavaKeystoreConnect'
361
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_keystore_connect_cfg.json
364
362
- name : configure AWS credentials (Custom Authorizer)
365
363
uses : aws-actions/configure-aws-credentials@v1
366
364
with :
367
365
role-to-assume : ${{ env.CI_CUSTOM_AUTHORIZER_ROLE }}
368
366
aws-region : ${{ env.AWS_DEFAULT_REGION }}
369
367
- name : run CustomAuthorizerConnect sample
370
368
run : |
371
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/CustomAuthorizerConnect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_custom_authorizer_name 'ci/CustomAuthorizer/name' --sample_secret_custom_authorizer_password 'ci/CustomAuthorizer/password' --sample_main_class 'customauthorizerconnect.CustomAuthorizerConnect'
369
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_custom_authorizer_connect_cfg.json
372
370
- name : configure AWS credentials (Shadow)
373
371
uses : aws-actions/configure-aws-credentials@v1
374
372
with :
375
373
role-to-assume : ${{ env.CI_SHADOW_ROLE }}
376
374
aws-region : ${{ env.AWS_DEFAULT_REGION }}
377
375
- name : run Shadow sample
378
376
run : |
379
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Shadow' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/Shadow/cert' --sample_secret_private_key 'ci/Shadow/key' --sample_arguments '--thing_name CI_Shadow_Thing' --sample_main_class 'shadow.ShadowSample'
377
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_shadow_cfg.json
380
378
- name : configure AWS credentials (Jobs)
381
379
uses : aws-actions/configure-aws-credentials@v1
382
380
with :
383
381
role-to-assume : ${{ env.CI_JOBS_ROLE }}
384
382
aws-region : ${{ env.AWS_DEFAULT_REGION }}
385
383
- name : run Jobs sample
386
384
run : |
387
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Jobs' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/Jobs/cert' --sample_secret_private_key 'ci/Jobs/key' --sample_arguments '--thing_name CI_Jobs_Thing' --sample_main_class 'jobs.JobsSample'
385
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_jobs_cfg.json
388
386
- name : configure AWS credentials (Fleet provisioning)
389
387
uses : aws-actions/configure-aws-credentials@v1
390
388
with :
@@ -394,13 +392,21 @@ jobs:
394
392
run : |
395
393
echo "Generating UUID for IoT thing"
396
394
Sample_UUID=$(python3 -c "import uuid; print (uuid.uuid4())")
397
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Identity' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/FleetProvisioning/cert' --sample_secret_private_key 'ci/FleetProvisioning/key' --sample_arguments "--template_name CI_FleetProvisioning_Template --template_parameters '{SerialNumber: ${Sample_UUID}}'" --sample_main_class 'identity.FleetProvisioningSample'
395
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_fleet_provisioning_cfg.json --input_uuid ${Sample_UUID}
398
396
python3 utils/delete_iot_thing_ci.py --thing_name "Fleet_Thing_${Sample_UUID}" --region "us-east-1"
397
+ - name : configure AWS credentials (X509)
398
+ uses : aws-actions/configure-aws-credentials@v1
399
+ with :
400
+ role-to-assume : ${{ env.CI_X509_ROLE }}
401
+ aws-region : ${{ env.AWS_DEFAULT_REGION }}
402
+ - name : run X509 sample
403
+ run : |
404
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_x509_connect_cfg.json
399
405
- name : configure AWS credentials (MQTT5)
400
406
uses : aws-actions/configure-aws-credentials@v1
401
407
with :
402
408
role-to-assume : ${{ env.CI_MQTT5_ROLE }}
403
409
aws-region : ${{ env.AWS_DEFAULT_REGION }}
404
410
- name : run MQTT5 PubSub sample
405
411
run : |
406
- python3 ./utils/run_sample_ci.py --language Java --sample_file 'samples/Mqtt5/PubSub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/mqtt5/us/mqtt5_thing/cert' --sample_secret_private_key 'ci/mqtt5/us/mqtt5_thing/key' --sample_main_class 'mqtt5.pubsub.PubSub'
412
+ python3 ./utils/run_sample_ci.py --file ./.github/workflows/ci_run_mqtt5_pubsub_cfg.json
0 commit comments