Skip to content

Commit da99638

Browse files
DakshitBabbarDakshit Babbar
and
Dakshit Babbar
authored
Update Release Automation Workflow and Update Version Number in Source Files (#1931)
* Update Release Automation Workflow * Update Version Number in source files * Fix Formatting --------- Co-authored-by: Dakshit Babbar <[email protected]>
1 parent 530884a commit da99638

File tree

123 files changed

+168
-186
lines changed

Some content is hidden

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

123 files changed

+168
-186
lines changed

.github/workflows/tag-and-zip.yml .github/workflows/release-automation.yml

+34-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Tag, Deploy Docs, and Create ZIP
1+
name: Release Automation
22

33
on:
44
workflow_dispatch:
@@ -58,7 +58,7 @@ jobs:
5858
env:
5959
VERSION_NUMBER: ${{ github.event.inputs.version_number }}
6060
run: |
61-
zip -r aws-iot-device-sdk-embedded-C-$"VERSION_NUMBER".zip aws-iot-device-sdk-embedded-C -x "*.git*"
61+
zip -r aws-iot-device-sdk-embedded-C-"$VERSION_NUMBER".zip aws-iot-device-sdk-embedded-C -x "*.git*"
6262
ls ./
6363
- name: Validate created ZIP
6464
env:
@@ -158,3 +158,35 @@ jobs:
158158
exit 1
159159
fi
160160
output_dir: html
161+
create-release:
162+
needs:
163+
- create-zip
164+
- deploy-docs
165+
name: Create Release and Upload Release Asset
166+
runs-on: ubuntu-20.04
167+
steps:
168+
- name: Create Release
169+
id: create_release
170+
uses: actions/create-release@v1
171+
env:
172+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
173+
with:
174+
tag_name: ${{ github.event.inputs.version_number }}
175+
release_name: ${{ github.event.inputs.version_number }}
176+
body: Release version ${{ github.event.inputs.version_number }} of the AWS IoT Device SDK for Embedded C.
177+
draft: false
178+
prerelease: false
179+
- name: Download ZIP artifact
180+
uses: actions/download-artifact@v4
181+
with:
182+
name: aws-iot-device-sdk-embedded-C-${{ github.event.inputs.version_number }}.zip
183+
- name: Upload Release Asset
184+
id: upload-release-asset
185+
uses: actions/upload-release-asset@v1
186+
env:
187+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
188+
with:
189+
upload_url: ${{ steps.create_release.outputs.upload_url }}
190+
asset_path: ./aws-iot-device-sdk-embedded-C-${{ github.event.inputs.version_number }}.zip
191+
asset_name: aws-iot-device-sdk-embedded-C-${{ github.event.inputs.version_number }}.zip
192+
asset_content_type: application/zip

.github/workflows/upload-release.yml

-50
This file was deleted.

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Project information.
22
cmake_minimum_required( VERSION 3.2.0 )
33
project( AwsIotDeviceSdkEmbeddedC
4-
VERSION 202211.00
4+
VERSION 202412.00
55
LANGUAGES C CXX )
66

77
# Allow the project to be organized into folders.

README.md

+14-14
Original file line numberDiff line numberDiff line change
@@ -81,19 +81,19 @@ C-SDK simplifies access to various AWS IoT services. C-SDK has been tested to wo
8181

8282
The [coreMQTT](https://github.com/FreeRTOS/coreMQTT) library provides the ability to establish an MQTT connection with a broker over a customer-implemented transport layer, which can either be a secure channel like a TLS session (mutually authenticated or server-only authentication) or a non-secure channel like a plaintext TCP connection. This MQTT connection can be used for performing publish operations to MQTT topics and subscribing to MQTT topics. The library provides a mechanism to register customer-defined callbacks for receiving incoming PUBLISH, acknowledgement and keep-alive response events from the broker. The library has been refactored for memory optimization and is compliant with the [MQTT 3.1.1](https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html) standard. It has no dependencies on any additional libraries other than the standard C library, a customer-implemented network transport interface, and optionally a customer-implemented platform time function. The refactored design embraces different use-cases, ranging from resource-constrained platforms using only QoS 0 MQTT PUBLISH messages to resource-rich platforms using QoS 2 MQTT PUBLISH over TLS connections.
8383

84-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/coreMQTT/docs/doxygen/output/html/index.html#mqtt_memory_requirements).
84+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/coreMQTT/docs/doxygen/output/html/index.html#mqtt_memory_requirements).
8585

8686
#### coreHTTP
8787

8888
The [coreHTTP](https://github.com/FreeRTOS/coreHTTP) library provides the ability to establish an HTTP connection with a server over a customer-implemented transport layer, which can either be a secure channel like a TLS session (mutually authenticated or server-only authentication) or a non-secure channel like a plaintext TCP connection. The HTTP connection can be used to make "GET" (include range requests), "PUT", "POST" and "HEAD" requests. The library provides a mechanism to register a customer-defined callback for receiving parsed header fields in an HTTP response. The library has been refactored for memory optimization, and is a client implementation of a subset of the [HTTP/1.1](https://tools.ietf.org/html/rfc2616) standard.
8989

90-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/coreHTTP/docs/doxygen/output/html/index.html#http_memory_requirements).
90+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/coreHTTP/docs/doxygen/output/html/index.html#http_memory_requirements).
9191

9292
#### coreJSON
9393

9494
The [coreJSON](https://github.com/FreeRTOS/coreJSON) library is a JSON parser that strictly enforces the [ECMA-404 JSON standard](https://www.json.org/json-en.html). It provides a function to validate a JSON document, and a function to search for a key and return its value. A search can descend into nested structures using a compound query key. A JSON document validation also checks for illegal UTF8 encodings and illegal Unicode escape sequences.
9595

96-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/coreJSON/docs/doxygen/output/html/index.html#json_memory_requirements).
96+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/coreJSON/docs/doxygen/output/html/index.html#json_memory_requirements).
9797

9898
#### corePKCS11
9999

@@ -109,15 +109,15 @@ The purpose of corePKCS11 mock is therefore to provide a PKCS #11 implementation
109109
Since the PKCS #11 interface is defined as part of the PKCS #11 [specification](https://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html) replacing corePKCS11 with another implementation
110110
should require little porting effort, as the interface will not change. The system tests distributed in corePKCS11 repository can be leveraged to verify the behavior of a different implementation is similar to corePKCS11.
111111

112-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/corePKCS11/docs/doxygen/output/html/pkcs11_design.html#pkcs11_memory_requirements).
112+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/corePKCS11/docs/doxygen/output/html/pkcs11_design.html#pkcs11_memory_requirements).
113113

114114
#### AWS IoT Device Shadow
115115

116116
The [AWS IoT Device Shadow](https://github.com/aws/device-shadow-for-aws-iot-embedded-sdk) library enables you to store and retrieve the current state one or more shadows of every registered device. A device’s shadow is a persistent, virtual representation of your device that you can interact with from AWS IoT Core even if the device is offline. The device state is captured in its "shadow" is represented as a [JSON](https://www.json.org/) document. The device can send commands over MQTT to get, update and delete its latest state as well as receive notifications over MQTT about changes in its state. The device’s shadow(s) are uniquely identified by the name of the corresponding "thing", a representation of a specific device or logical entity on the AWS Cloud. See [Managing Devices with AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-thing-management.html) for more information on IoT "thing". This library supports named shadows, a feature of the AWS IoT Device Shadow service that allows you to create multiple shadows for a single IoT device. More details about AWS IoT Device Shadow can be found in [AWS IoT documentation](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html).
117117

118118
The AWS IoT Device Shadow library has no dependencies on additional libraries other than the standard C library. It also doesn’t have any platform dependencies, such as threading or synchronization. It can be used with any MQTT library and any JSON library (see [demos](demos/shadow) with coreMQTT and coreJSON).
119119

120-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/device-shadow-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#shadow_memory_requirements).
120+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/device-shadow-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#shadow_memory_requirements).
121121

122122

123123
#### AWS IoT Jobs
@@ -126,7 +126,7 @@ The [AWS IoT Jobs](https://github.com/aws/jobs-for-aws-iot-embedded-sdk) library
126126

127127
The AWS IoT Jobs library has no dependencies on additional libraries other than the standard C library. It also doesn’t have any platform dependencies, such as threading or synchronization. It can be used with any MQTT library and any JSON library (see [demos](demos/jobs) with [libmosquitto](https://mosquitto.org/) and coreJSON).
128128

129-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/jobs-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#jobs_memory_requirements).
129+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/jobs-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#jobs_memory_requirements).
130130

131131

132132
#### AWS IoT Device Defender
@@ -135,7 +135,7 @@ The [AWS IoT Device Defender](https://github.com/aws/device-defender-for-aws-iot
135135

136136
The AWS IoT Device Defender library has no dependencies on additional libraries other than the standard C library. It also doesn’t have any platform dependencies, such as threading or synchronization. It can be used with any MQTT library and any JSON library (see [demos](demos/defender) with coreMQTT and coreJSON).
137137

138-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/device-defender-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#defender_memory_requirements).
138+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/device-defender-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#defender_memory_requirements).
139139

140140
#### AWS IoT Over-the-air Update
141141

@@ -145,13 +145,13 @@ Removed since v2022412.00. We recommend transitioning to the [new modular and co
145145

146146
The [AWS IoT Fleet Provisioning](https://github.com/aws/fleet-provisioning-for-aws-iot-embedded-sdk) library enables you to interact with the [AWS IoT Fleet Provisioning MQTT APIs](https://docs.aws.amazon.com/iot/latest/developerguide/fleet-provision-api.html) in order to provison IoT devices without preexisting device certificates. With AWS IoT Fleet Provisioning, devices can securely receive unique device certificates from AWS IoT when they connect for the first time. For an overview of all provisioning options offered by AWS IoT, see [device provisioning documentation](https://docs.aws.amazon.com/iot/latest/developerguide/iot-provision.html). For details about Fleet Provisioning, refer to the [AWS IoT Fleet Provisioning documentation](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html).
147147

148-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/fleet-provisioning-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#fleet_provisioning_memory_requirements).
148+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/fleet-provisioning-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#fleet_provisioning_memory_requirements).
149149

150150
#### AWS SigV4
151151

152152
The [AWS SigV4](https://github.com/aws/SigV4-for-AWS-IoT-embedded-sdk) library enables you to sign HTTP requests with [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). Signature Version 4 (SigV4) is the process to add authentication information to HTTP requests to AWS services. For security, most requests to AWS must be signed with an access key. The access key consists of an access key ID and secret access key.
153153

154-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/sigv4-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#sigv4_memory_requirements).
154+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/sigv4-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#sigv4_memory_requirements).
155155

156156
#### backoffAlgorithm
157157

@@ -161,7 +161,7 @@ Exponential backoff with jitter is typically used when retrying a failed connect
161161

162162
The backoffAlgorithm library has no dependencies on libraries other than the standard C library.
163163

164-
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/backoffAlgorithm/docs/doxygen/output/html/index.html#backoff_algorithm_memory_requirements).
164+
See memory requirements for the latest release [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/backoffAlgorithm/docs/doxygen/output/html/index.html#backoff_algorithm_memory_requirements).
165165

166166
### Sending metrics to AWS IoT
167167

@@ -283,19 +283,19 @@ All libraries depend on the ISO C90 standard library and additionally on the `st
283283

284284
### Porting coreMQTT
285285

286-
Guide for porting coreMQTT library to your platform is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/coreMQTT/docs/doxygen/output/html/mqtt_porting.html).
286+
Guide for porting coreMQTT library to your platform is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/coreMQTT/docs/doxygen/output/html/mqtt_porting.html).
287287

288288
### Porting coreHTTP
289289

290-
Guide for porting coreHTTP library is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/standard/coreHTTP/docs/doxygen/output/html/http_porting.html).
290+
Guide for porting coreHTTP library is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/standard/coreHTTP/docs/doxygen/output/html/http_porting.html).
291291

292292
### Porting AWS IoT Device Shadow
293293

294-
Guide for porting AWS IoT Device Shadow library is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/device-shadow-for-aws-iot-embedded-sdk/docs/doxygen/output/html/shadow_porting.html).
294+
Guide for porting AWS IoT Device Shadow library is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/device-shadow-for-aws-iot-embedded-sdk/docs/doxygen/output/html/shadow_porting.html).
295295

296296
### Porting AWS IoT Device Defender
297297

298-
Guide for porting AWS IoT Device Defender library is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202211.00/libraries/aws/device-defender-for-aws-iot-embedded-sdk/docs/doxygen/output/html/defender_porting.html).
298+
Guide for porting AWS IoT Device Defender library is available [here](https://aws.github.io/aws-iot-device-sdk-embedded-C/202412.00/libraries/aws/device-defender-for-aws-iot-embedded-sdk/docs/doxygen/output/html/defender_porting.html).
299299

300300
## Migration guide from v3.1.5 to 202009.00 and newer releases
301301

demos/defender/defender_demo_json/core_mqtt_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/defender_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/defender_demo.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/demo_config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/metrics_collector.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/metrics_collector.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/mqtt_operations.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

demos/defender/defender_demo_json/mqtt_operations.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* AWS IoT Device SDK for Embedded C 202211.00
2+
* AWS IoT Device SDK for Embedded C 202412.00
33
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

0 commit comments

Comments
 (0)