-
Notifications
You must be signed in to change notification settings - Fork 94
Add AWS CodeBuild workflow and Dockerfile for ArchLinux #161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
7331e53
d97575e
a4356a1
ddb8fef
897ab60
c578ee8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
version: 0.2 | ||
# This uses the docker image specified in ci/docker/arch-linux | ||
phases: | ||
build: | ||
commands: | ||
- echo Build started on `date` | ||
- ./ci/codebuild/build.sh -DTEST_RESOURCE_PREFIX=lambda-cpp-archbtw | ||
- ./ci/codebuild/run-tests.sh aws-lambda-package-lambda-test-fun | ||
- echo Build completed on `date` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
FROM public.ecr.aws/docker/library/archlinux:latest | ||
|
||
RUN pacman -Sy --noconfirm git | ||
RUN git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp.git | ||
RUN pacman -Sy --noconfirm \ | ||
cmake \ | ||
ninja \ | ||
clang \ | ||
curl \ | ||
zip | ||
|
||
|
||
# Note: (2022-08-23) | ||
# Using -DUSE_OPENSSL=OFF as a workaround to an AWS SDK dependency issue with this distro. | ||
# The current SDK version has a dependency on a static build version of openssl, not available through pacman. | ||
# ref: https://github.com/aws/aws-sdk-cpp/issues/1910 | ||
RUN CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -Saws-sdk-cpp -Baws-sdk-cpp/build -GNinja \ | ||
-DBUILD_ONLY=lambda \ | ||
-DUSE_OPENSSL=OFF \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a fun one - basically, because reasons (aws/aws-sdk-cpp#1910), including the current version of AWS SDK into the project (as the tests do) - CMake barfs at test time ( So... the workaround I've been doing is using the experimental S2N support in the SDK, triggered by this flag. This works fine, but also brought along the requirement to use 🤷♂️ There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yikes! There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added a shorter version of this comment There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In Arch linux, the AUR has a package openssl-static. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If desired, it could be installed with:
However, it will build openssl from source, which takes quite a while. |
||
-DENABLE_TESTING=OFF | ||
RUN cmake --build aws-sdk-cpp/build -t install | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not available as a built package from the main repositories. If you build openssl-static from the AUR with
makepkg
, the resulting package can be installed withpacman -U <package-file>
.