Skip to content

Commit 53a7ef1

Browse files
authored
fix(deps): bump C++ server dep for holdouts fix (#109)
This also switches to forks of the lua/luajit CI action, which have been forked into the `luarocks` org. The forks seem to be more up-to-date and are capable of fetching `luajit`, which is apparently not working with the old version of the action as LuaJIT is now distributed only via git.
1 parent 8efb8fa commit 53a7ef1

File tree

7 files changed

+18
-32
lines changed

7 files changed

+18
-32
lines changed

.github/actions/ci/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ runs:
2222
id: cpp-versions
2323
uses: ./.github/actions/cpp-versions
2424
- name: Install Lua
25-
uses: leafo/gh-actions-lua@35bcb06abec04ec87df82e08caa84d545348536e
25+
uses: luarocks/gh-actions-lua@c1e8c4a5fa64ac5f6467ea35d8b59fb5a167232e
2626
with:
2727
luaVersion: ${{ inputs.lua-version }}
2828
- name: Install LuaRocks
29-
uses: leafo/gh-actions-luarocks@e65774a6386cb4f24e293dca7fc4ff89165b64c5
29+
uses: luarocks/gh-actions-luarocks@8acd6db166a0162c375fa8647a0350fbec46940e
3030
- name: Install Boost
3131
id: install-boost
3232
uses: MarkusJx/install-boost@v2.4.4
@@ -61,7 +61,7 @@ runs:
6161
shell: bash
6262
run: |
6363
cp -r ./examples/env-helper ../env-helper
64-
- uses: launchdarkly/gh-actions/actions/verify-hello-app@verify-hello-app-v2.0.0
64+
- uses: launchdarkly/gh-actions/actions/verify-hello-app@verify-hello-app-v2.0.1
6565
if: ${{ !contains(inputs.lua-version, 'jit') }}
6666
name: 'Verify hello-lua-server example'
6767
env:
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
sdk=3.5.2
2-
redis_source=2.1.10
1+
sdk=3.8.0
2+
redis_source=2.1.16

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
--build-arg="CPP_SDK_VERSION=${{ steps.cpp-versions.outputs.sdk }}" \
6666
-t launchdarkly:${{ matrix.name }} -f ./examples/${{ matrix.name }}/Dockerfile .
6767
68-
- uses: launchdarkly/gh-actions/actions/verify-hello-app@verify-hello-app-v2.0.0
68+
- uses: launchdarkly/gh-actions/actions/verify-hello-app@verify-hello-app-v2.0.1
6969
name: 'Verify ${{ matrix.name}} example output'
7070
with:
7171
use_server_key: true
@@ -101,7 +101,7 @@ jobs:
101101
docker build \
102102
--build-arg="CPP_SDK_VERSION=${{ steps.cpp-versions.outputs.sdk }}" \
103103
-t launchdarkly:${{ matrix.name }} -f ./examples/${{ matrix.name }}/Dockerfile .
104-
- uses: launchdarkly/gh-actions/actions/verify-hello-app@verify-hello-app-v2.0.0
104+
- uses: launchdarkly/gh-actions/actions/verify-hello-app@verify-hello-app-v2.0.1
105105
name: 'Verify ${{ matrix.name}} example output'
106106
with:
107107
use_server_key: true

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ This version of the Lua server-side SDK depends on the LaunchDarkly C++ Server-s
2424

2525
If Redis support is desired, then it optionally depends on the C++ server-side SDK's Redis Source.
2626

27-
| Dependency | Minimum Version | Notes |
28-
|--------------------------------|------------------------------------------------------------------------------------------------------------|--------------------------------------------|
29-
| C++ Server-Side SDK | [3.3.3](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.3.3) | Required dependency. |
30-
| C++ Server-Side SDK with Redis | [2.1.3](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.1.3) | Optional, if using Redis as a data source. |
27+
| Dependency | Minimum Version | Notes |
28+
|--------------------------------|--------------------------------------------------------------------------------------------------------------|--------------------------------------------|
29+
| C++ Server-Side SDK | [3.8.0](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-v3.8.0) | Required dependency. |
30+
| C++ Server-Side SDK with Redis | [2.1.16](https://github.com/launchdarkly/cpp-sdks/releases/tag/launchdarkly-cpp-server-redis-source-v2.1.16) | Optional, if using Redis as a data source. |
3131

3232

3333
3rd Party Dependencies

examples/hello-debian/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM debian:bookworm
44
ARG VERSION=2.1.1
55
# {{ x-release-please-end }}
66

7-
ARG CPP_SDK_VERSION=3.5.2
7+
ARG CPP_SDK_VERSION=3.8.0
88

99
# For unknown reasons, it appears that boost.json and boost.url aren't included in the
1010
# libboost-all package.

examples/hello-haproxy/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM ubuntu:22.04
44
ARG VERSION=2.1.1
55
# {{ x-release-please-end }}
66

7-
ARG CPP_SDK_VERSION=3.5.2
7+
ARG CPP_SDK_VERSION=3.8.0
88

99
RUN apt-get update && apt-get install -y \
1010
curl luarocks lua5.3 lua5.3-dev \

examples/hello-nginx/Dockerfile

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
FROM openresty/openresty:jammy
1+
# We are pinning to this version of OpenResty as it is compatible with the C++ SDK's usage of OpenSSL.
2+
# It is unclear why, but the latest version of OpenResty doesn't seem to be compatible: the SDK
3+
# emits errors of the form 'failed to do XYZ (STORE routines) [asio.ssl:369098857]'
4+
FROM openresty/openresty:1.21.4.1-0-jammy
25

36
# {{ x-release-please-start-version }}
47
ARG VERSION=2.1.1
58
# {{ x-release-please-end }}
69

7-
ARG CPP_SDK_VERSION=3.5.2
10+
ARG CPP_SDK_VERSION=3.8.0
811

912
RUN apt-get update && apt-get install -y \
1013
git netbase curl libssl-dev apt-transport-https ca-certificates \
@@ -39,20 +42,3 @@ COPY ./examples/env-helper/get_from_env_or_default.lua /usr/local/openresty/ngin
3942

4043
RUN luarocks make launchdarkly-server-sdk-"${VERSION}"-0.rockspec LD_DIR=./cpp-sdk-libs && \
4144
cp launchdarkly_server_sdk.so /usr/local/openresty/lualib/
42-
43-
# The strategy for this Docker example is to download the C++ SDK release artifacts and use those instead of compiling
44-
# from source. This is for example/CI purposes only; generally it's better to build from source to ensure all libraries
45-
# are compatible.
46-
#
47-
# Since we require a newer version of boost than is available in Ubuntu 22.04, we grab it from a PPA (mhier/libboost-latest).
48-
#
49-
# The SDK dynamic libs expect the boost libs to follow a specific naming convention, which isn't what
50-
# the libraries from the PPA follow ('-mt' suffix is added to indicate the libraries are built with multithreading support enabled.)
51-
#
52-
# It's not 100% clear if these libraries are multithread enabled (build logs in the PPA seem to indicate it),
53-
# but even so, the C++ SDK is single-threaded.
54-
#
55-
# To workaround, add symlinks with the expected names.
56-
RUN cd /usr/lib/x86_64-linux-gnu && \
57-
ln -s libboost_json.so.1.81.0 libboost_json-mt-x64.so.1.81.0 && \
58-
ln -s libboost_url.so.1.81.0 libboost_url-mt-x64.so.1.81.0

0 commit comments

Comments
 (0)