Skip to content

Commit a451e04

Browse files
Use new run_sample_ci file with configuration files (#297)
Use config file based solution for CI.
1 parent 1c10c33 commit a451e04

13 files changed

+484
-204
lines changed

.github/workflows/ci.yml

+22-13
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ env:
2525
CI_JOBS_ROLE: ${{ secrets.AWS_CI_JOBS_ROLE }}
2626
CI_FLEET_PROVISIONING_ROLE: ${{ secrets.AWS_CI_FLEET_PROVISIONING_ROLE }}
2727
CI_DEVICE_ADVISOR: ${{ secrets.AWS_CI_DEVICE_ADVISOR_ROLE }}
28+
CI_MQTT5_ROLE: ${{ secrets.AWS_CI_MQTT5_ROLE }}
2829

2930
jobs:
3031

@@ -86,10 +87,10 @@ jobs:
8687
aws-region: ${{ env.AWS_DEFAULT_REGION }}
8788
- name: run PubSub sample
8889
run: |
89-
python ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file "./aws-iot-device-sdk-js-v2/samples/node/pub_sub" --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key'
90+
python ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_pubsub_cfg.json
9091
- name: run Windows Certificate Connect sample
9192
run: |
92-
python ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file "./aws-iot-device-sdk-js-v2/samples/node/windows_cert_connect" --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
93+
python ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_windows_cert_connect_cfg.json
9394
- name: configure AWS credentials (Device Advisor)
9495
uses: aws-actions/configure-aws-credentials@v1
9596
with:
@@ -120,7 +121,7 @@ jobs:
120121
aws-region: ${{ env.AWS_DEFAULT_REGION }}
121122
- name: run PubSub sample
122123
run: |
123-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/pub_sub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key'
124+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_pubsub_cfg.json
124125
- name: configure AWS credentials (Device Advisor)
125126
uses: aws-actions/configure-aws-credentials@v1
126127
with:
@@ -151,7 +152,7 @@ jobs:
151152
aws-region: ${{ env.AWS_DEFAULT_REGION }}
152153
- name: run PubSub sample
153154
run: |
154-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/pub_sub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key'
155+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_pubsub_cfg.json
155156
- name: configure AWS credentials (Device Advisor)
156157
uses: aws-actions/configure-aws-credentials@v1
157158
with:
@@ -186,46 +187,46 @@ jobs:
186187
aws-region: ${{ env.AWS_DEFAULT_REGION }}
187188
- name: run Basic Connect sample
188189
run: |
189-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/basic_connect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key'
190+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_basic_connect_cfg.json
190191
- name: run Websocket Connect sample
191192
run: |
192-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/websocket_connect' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_arguments '--signing_region us-east-1'
193+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_websocket_connect_cfg.json
193194
- name: run PubSub sample
194195
run: |
195-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/pub_sub' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key'
196+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_pubsub_cfg.json
196197
- name: run PubSub JS sample
197198
run: |
198-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/pub_sub_js' --sample_region ${{ env.AWS_DEFAULT_REGION }} --sample_secret_endpoint 'ci/endpoint' --sample_secret_certificate 'ci/PubSub/cert' --sample_secret_private_key 'ci/PubSub/key' --node_cmd "node index.js"
199+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_pubsub_js_cfg.json
199200
- name: run PKCS11 Connect sample
200201
run: |
201202
mkdir -p /tmp/tokens
202203
export SOFTHSM2_CONF=/tmp/softhsm2.conf
203204
echo "directories.tokendir = /tmp/tokens" > /tmp/softhsm2.conf
204-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/pkcs11_connect' --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'
205+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_pkcs11_connect_cfg.json
205206
- name: configure AWS credentials (Custom Authorizer)
206207
uses: aws-actions/configure-aws-credentials@v1
207208
with:
208209
role-to-assume: ${{ env.CI_CUSTOM_AUTHORIZER_ROLE }}
209210
aws-region: ${{ env.AWS_DEFAULT_REGION }}
210211
- name: run CustomAuthorizerConnect sample
211212
run: |
212-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/custom_authorizer_connect' --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'
213+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_custom_authorizer_connect_cfg.json
213214
- name: configure AWS credentials (Shadow)
214215
uses: aws-actions/configure-aws-credentials@v1
215216
with:
216217
role-to-assume: ${{ env.CI_SHADOW_ROLE }}
217218
aws-region: ${{ env.AWS_DEFAULT_REGION }}
218219
- name: run Shadow sample
219220
run: |
220-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/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'
221+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_shadow_cfg.json
221222
- name: configure AWS credentials (Jobs)
222223
uses: aws-actions/configure-aws-credentials@v1
223224
with:
224225
role-to-assume: ${{ env.CI_JOBS_ROLE }}
225226
aws-region: ${{ env.AWS_DEFAULT_REGION }}
226227
- name: run Jobs sample
227228
run: |
228-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/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'
229+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_jobs_cfg.json
229230
- name: configure AWS credentials (Fleet provisioning)
230231
uses: aws-actions/configure-aws-credentials@v1
231232
with:
@@ -235,8 +236,16 @@ jobs:
235236
run: |
236237
echo "Generating UUID for IoT thing"
237238
Sample_UUID=$(python3 -c "import uuid; print (uuid.uuid4())")
238-
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --language Javascript --sample_file './aws-iot-device-sdk-js-v2/samples/node/fleet_provisioning' --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}\"}"
239+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_fleet_provisioning_cfg.json --input_uuid ${Sample_UUID}
239240
python3 ./aws-iot-device-sdk-js-v2/utils/delete_iot_thing_ci.py --thing_name "Fleet_Thing_${Sample_UUID}" --region "us-east-1"
241+
- name: configure AWS credentials (MQTT5 PubSub)
242+
uses: aws-actions/configure-aws-credentials@v1
243+
with:
244+
role-to-assume: ${{ env.CI_MQTT5_ROLE }}
245+
aws-region: ${{ env.AWS_DEFAULT_REGION }}
246+
- name: run MQTT5 PubSub sample
247+
run: |
248+
python3 ./aws-iot-device-sdk-js-v2/utils/run_sample_ci.py --file ./aws-iot-device-sdk-js-v2/.github/workflows/ci_run_mqtt5_pubsub_cfg.json
240249
241250
# check that docs can still build
242251
check-docs:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/basic_connect",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/PubSub/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/PubSub/key",
19+
"filename": "tmp_key.pem"
20+
}
21+
]
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/custom_authorizer_connect",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--custom_auth_authorizer_name",
13+
"secret": "ci/CustomAuthorizer/name"
14+
},
15+
{
16+
"name": "--custom_auth_password",
17+
"secret": "ci/CustomAuthorizer/password"
18+
}
19+
]
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/fleet_provisioning",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/FleetProvisioning/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/FleetProvisioning/key",
19+
"filename": "tmp_key.pem"
20+
},
21+
{
22+
"name": "--template_name",
23+
"data": "CI_FleetProvisioning_Template"
24+
},
25+
{
26+
"name": "--template_parameters",
27+
"data": "{\"SerialNumber\":\"$INPUT_UUID\"}"
28+
}
29+
]
30+
}
+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/jobs",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/Jobs/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/Jobs/key",
19+
"filename": "tmp_key.pem"
20+
},
21+
{
22+
"name": "--thing_name",
23+
"data": "CI_Jobs_Thing"
24+
}
25+
]
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/pub_sub_mqtt5",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/mqtt5/us/mqtt5_thing/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/mqtt5/us/mqtt5_thing/key",
19+
"filename": "tmp_key.pem"
20+
}
21+
]
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/pkcs11_connect",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/PubSub/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/PubSub/keyp8",
19+
"filename": "tmp_key.pem",
20+
"pkcs11_key": "true"
21+
},
22+
{
23+
"name": "--pkcs11_lib",
24+
"data": "/usr/lib/softhsm/libsofthsm2.so"
25+
},
26+
{
27+
"name": "--pin",
28+
"data": "0000"
29+
},
30+
{
31+
"name": "--token_label",
32+
"data": "my-token"
33+
},
34+
{
35+
"name": "--key_label",
36+
"data": "my-key"
37+
}
38+
]
39+
}
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/pub_sub",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/PubSub/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/PubSub/key",
19+
"filename": "tmp_key.pem"
20+
}
21+
]
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/pub_sub_js",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/PubSub/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/PubSub/key",
19+
"filename": "tmp_key.pem"
20+
}
21+
],
22+
"node_cmd": "node index.js"
23+
}
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/shadow",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"secret": "ci/Shadow/cert",
14+
"filename": "tmp_certificate.pem"
15+
},
16+
{
17+
"name": "--key",
18+
"secret": "ci/Shadow/key",
19+
"filename": "tmp_key.pem"
20+
},
21+
{
22+
"name": "--thing_name",
23+
"data": "CI_Shadow_Thing"
24+
},
25+
{
26+
"name": "--is_ci",
27+
"data": "true"
28+
}
29+
]
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/websocket_connect",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--signing_region",
13+
"data": "us-east-1"
14+
}
15+
]
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"language": "Javascript",
3+
"sample_file": "./aws-iot-device-sdk-js-v2/samples/node/windows_cert_connect",
4+
"sample_region": "us-east-1",
5+
"sample_main_class": "",
6+
"arguments": [
7+
{
8+
"name": "--endpoint",
9+
"secret": "ci/endpoint"
10+
},
11+
{
12+
"name": "--cert",
13+
"windows_cert_certificate": "ci/PubSub/cert",
14+
"windows_cert_certificate_path": "tmp_cert.pem",
15+
"windows_cert_key": "ci/PubSub/key",
16+
"windows_cert_key_path": "tmp_key.pem",
17+
"windows_cert_pfx_key_path": "tmp_pfx.pem"
18+
}
19+
]
20+
}

0 commit comments

Comments
 (0)