-
Notifications
You must be signed in to change notification settings - Fork 70
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into valgrindClean
- Loading branch information
Showing
139 changed files
with
9,126 additions
and
1,330 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# This is a multi-stage Dockerfile used for building minimum sized images of Device Client from your current directory. | ||
ARG OS | ||
ARG BASE_IMAGE | ||
FROM ${BASE_IMAGE} AS deploy | ||
|
||
############################################################################### | ||
# Copy and build device client | ||
############################################################################### | ||
COPY . /root/aws-iot-device-client | ||
RUN mkdir -p /root/aws-iot-device-client/build \ | ||
&& cd /root/aws-iot-device-client/build \ | ||
&& cmake -DCMAKE_BUILD_TYPE=Release .. \ | ||
&& cmake --build . --target aws-iot-device-client | ||
|
||
ENTRYPOINT ["/root/aws-iot-device-client/build/aws-iot-device-client"] | ||
|
||
FROM ${OS} AS minimum_size | ||
|
||
COPY --from=deploy /root/aws-iot-device-client/build/aws-iot-device-client ./aws-iot-device-client | ||
COPY --from=deploy /root/aws-iot-device-client/sample-job-handlers /root/.aws-iot-device-client/jobs | ||
|
||
COPY ./.github/docker-images/oss-compliance /root/oss-compliance | ||
RUN HOME_DIR=/root \ | ||
&& chmod +x ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh \ | ||
&& chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh \ | ||
&& bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \ | ||
&& rm -rf ${HOME_DIR}/oss-compliance* | ||
|
||
RUN chmod 700 /root/.aws-iot-device-client/jobs/*.sh | ||
|
||
ENTRYPOINT ["/aws-iot-device-client"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Docker Images | ||
|
||
The AWS IoT Device Client provides several Docker images to simplify testing and development. | ||
|
||
## Base Images | ||
|
||
The base images are built from the Docker files located in the [base-images](./base-images) directory. These images contain | ||
the dependencies of the Device Client only and are intended to be used to build & run the Device Client. Pre-built base | ||
images are publicly available through AWS ECR in the [aws-iot-device-client-base-images repository](https://gallery.ecr.aws/aws-iot-device-client/aws-iot-device-client-base-images). | ||
|
||
## AWS IoT Device Client Images | ||
|
||
Docker images containing Device Client binaries are also available through ECR. These images are built using this [Dockerfile](./Dockerfile) | ||
and are multi-stage builds that are minimum sized. Images are built from both the pre-release and main branches. The pre-release | ||
images are available for testing and experimenting with features which are still in development from the [pre-release repository](https://gallery.ecr.aws/aws-iot-device-client/pre-release). | ||
Images built from the main branch are available from the [aws-iot-device-client repository](https://gallery.ecr.aws/aws-iot-device-client/aws-iot-device-client). | ||
|
||
## Integration Test Images | ||
|
||
Before releasing new features on the main branch end-to-end tests are performed in the pre-release branch. As part of this | ||
process the Docker files located in the [integration-tests](./integration-tests) directory are used to build and run the | ||
end-to-end tests. In order to make it easy to recreate any test failures locally, these images are pushed to the [integration-tests repository](https://gallery.ecr.aws/aws-iot-device-client/integration-tests). | ||
These images contain both the pre-release version of the Device Client and the integration test binary. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.