Skip to content

Commit 0b1cefa

Browse files
authored
Merge branch 'main' into rlamb/remove-vendored-allocate_unique
2 parents a4e5d16 + b978ea4 commit 0b1cefa

File tree

153 files changed

+2629
-394
lines changed

Some content is hidden

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

153 files changed

+2629
-394
lines changed

.github/actions/cmake-test/action.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# This is a composite to allow sharing these steps into other workflows.
2+
# It isn't a shared workflow, because then it isn't convenient to add
3+
# additional package-specific steps.
4+
name: CMake Integration Test
5+
description: 'CMake integration test suitable for running on multiple platforms.'
6+
inputs:
7+
platform_version:
8+
description: 'Boost platform version'
9+
required: false
10+
default: "22.04"
11+
toolset:
12+
description: 'Boost toolset'
13+
required: false
14+
15+
runs:
16+
using: composite
17+
steps:
18+
- name: Install Ninja
19+
uses: ./.github/actions/install-ninja
20+
- name: Install boost
21+
uses: ./.github/actions/install-boost
22+
id: install-boost
23+
with:
24+
platform_version: ${{ inputs.platform_version }}
25+
toolset: ${{ inputs.toolset }}
26+
- name: Install OpenSSL
27+
uses: ./.github/actions/install-openssl
28+
id: install-openssl
29+
- name: Configure CMake Integration Tests
30+
shell: bash
31+
run: ./scripts/configure-cmake-integration-tests.sh
32+
env:
33+
# These will be injected into the SDK CMake project on the command line, via "-D BOOST_ROOT=..."
34+
# and "-D OPENSSL_ROOT_DIR=...". When the integration tests are configured, they will then be passed
35+
# along in the same manner to those test projects via the command line.
36+
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
37+
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
38+
CMAKE_INSTALL_PREFIX: ../LAUNCHDARKLY_INSTALL
39+
- name: Build the SDK
40+
shell: bash
41+
run: |
42+
cmake --build build
43+
- name: Install the SDK
44+
shell: bash
45+
run: |
46+
cmake --install build
47+
- name: Run CMake Integration Tests
48+
shell: bash
49+
run: |
50+
export CTEST_OUTPUT_ON_FAILURE=1
51+
cd build/cmake-tests && ctest

.github/actions/install-openssl/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ runs:
3232
if: runner.os == 'Windows'
3333
shell: bash
3434
run: |
35-
choco install openssl --version 3.1.1 -y --no-progress
35+
choco install openssl --version 3.4.0 -y --no-progress
3636
if [ -d "C:\Program Files\OpenSSL-Win64" ]; then
3737
echo "OPENSSL_ROOT_DIR=C:\Program Files\OpenSSL-Win64" >> $GITHUB_OUTPUT
3838
else

.github/actions/publish-docs/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ inputs:
1111
runs:
1212
using: composite
1313
steps:
14-
- uses: launchdarkly/gh-actions/actions/[email protected].1
14+
- uses: launchdarkly/gh-actions/actions/[email protected].2
1515
name: 'Publish to Github pages'
1616
with:
1717
docs_path: ${{ inputs.workspace_path }}/docs

.github/actions/sdk-release/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ runs:
9090
uses: ./.github/actions/publish-docs
9191
with:
9292
workspace_path: ${{ inputs.sdk_path }}
93+
token: ${{ inputs.github_token }}
9394

9495
- name: Configure MSVC
9596
if: runner.os == 'Windows'

.github/workflows/client.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
run_tests: false
3030
- name: 'Launch test service as background task'
3131
run: $TEST_SERVICE_BINARY $TEST_SERVICE_PORT 2>&1 &
32-
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.2
32+
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.1.0
3333
with:
3434
# Inform the test harness of test service's port.
3535
test_service_port: ${{ env.TEST_SERVICE_PORT }}
@@ -43,7 +43,7 @@ jobs:
4343
cmake_target: launchdarkly-cpp-client
4444
simulate_release: true
4545
build-test-client-mac:
46-
runs-on: macos-12
46+
runs-on: macos-13
4747
steps:
4848
- uses: actions/checkout@v4
4949
- uses: ./.github/actions/ci

.github/workflows/cmake.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: cmake-integration
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths-ignore:
7+
- '**.md' # Do not need to run CI for markdown changes.
8+
pull_request:
9+
branches: [ "main", "feat/**" ]
10+
paths-ignore:
11+
- '**.md'
12+
schedule:
13+
# Run daily at midnight PST
14+
- cron: '0 8 * * *'
15+
16+
jobs:
17+
test-ubuntu:
18+
runs-on: ubuntu-22.04
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: ./.github/actions/cmake-test
22+
with:
23+
platform_version: '22.04'
24+
25+
test-macos:
26+
runs-on: macos-13
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: ./.github/actions/cmake-test
30+
with:
31+
platform_version: '12'
32+
33+
test-windows:
34+
runs-on: windows-2022
35+
steps:
36+
- uses: actions/checkout@v4
37+
- uses: ilammy/msvc-dev-cmd@v1
38+
- uses: ./.github/actions/cmake-test
39+
env:
40+
BOOST_ROOT: 'C:\local\boost_1_81_0\lib64-msvc-14.3'
41+
with:
42+
platform_version: 2022
43+
toolset: msvc

.github/workflows/hello-apps.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
smoketest:
1616
strategy:
1717
matrix:
18-
os: [ "ubuntu-22.04", "macos-12", "windows-2022" ]
18+
os: [ "ubuntu-22.04", "macos-13", "windows-2022" ]
1919
fail-fast: false
2020
runs-on: ${{ matrix.os }}
2121
steps:
@@ -35,11 +35,17 @@ jobs:
3535
env:
3636
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
3737
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
38-
- name: Dynamically Linked Hello Apps
38+
- name: Dynamically Linked Hello Apps (C API only)
3939
shell: bash
4040
continue-on-error: true # TODO(SC-223804)
41-
# Only the C bindings work with dynamic linking because C++ symbols are hidden
4241
run: ./scripts/run-hello-apps.sh dynamic hello-c-client hello-c-server
4342
env:
4443
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
4544
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
45+
- name: Dynamically Linked Hello Apps (C and C++ APIs)
46+
shell: bash
47+
continue-on-error: true # TODO(SC-223804)
48+
run: ./scripts/run-hello-apps.sh dynamic-export-all-symbols hello-c-client hello-cpp-client hello-c-server hello-cpp-server
49+
env:
50+
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
51+
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}

.github/workflows/manual-publish-doc.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@v4
19-
- uses: actions/setup-node@v3
20-
with:
21-
node-version: 16.x
22-
registry-url: 'https://registry.npmjs.org'
23-
- run: sudo apt-get install doxygen
19+
- run: sudo apt-get install doxygen graphviz
2420
- id: build
2521
# Build using the same steps from CI.
2622
name: Build

.github/workflows/manual-sdk-release-artifacts.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
strategy:
3939
matrix:
4040
# Each of the platforms for which release-artifacts need generated.
41-
os: [ ubuntu-latest, windows-2022, macos-12 ]
41+
os: [ ubuntu-latest, windows-2022, macos-13 ]
4242
runs-on: ${{ matrix.os }}
4343
outputs:
4444
hashes-linux: ${{ steps.release-sdk.outputs.hashes-linux }}

.github/workflows/release-please.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
strategy:
2525
matrix:
2626
# Each of the platforms for which release-artifacts need generated.
27-
os: [ ubuntu-latest, windows-2022, macos-12 ]
27+
os: [ ubuntu-latest, windows-2022, macos-13 ]
2828
runs-on: ${{ matrix.os }}
2929
needs: [ 'release-please' ]
3030
if: ${{ needs.release-please.outputs.package-client-released == 'true'}}
@@ -48,7 +48,7 @@ jobs:
4848
strategy:
4949
matrix:
5050
# Each of the platforms for which release-artifacts need generated.
51-
os: [ ubuntu-latest, windows-2022, macos-12 ]
51+
os: [ ubuntu-latest, windows-2022, macos-13 ]
5252
runs-on: ${{ matrix.os }}
5353
needs: [ 'release-please' ]
5454
if: ${{ needs.release-please.outputs.package-server-released == 'true'}}
@@ -72,7 +72,7 @@ jobs:
7272
strategy:
7373
matrix:
7474
# Each of the platforms for which release-artifacts need generated.
75-
os: [ ubuntu-latest, windows-2022, macos-12 ]
75+
os: [ ubuntu-latest, windows-2022, macos-13 ]
7676
runs-on: ${{ matrix.os }}
7777
needs: [ 'release-please' ]
7878
if: ${{ needs.release-please.outputs.package-server-redis-released == 'true'}}

.github/workflows/server-redis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
cmake_target: launchdarkly-cpp-server-redis-source
2929
simulate_release: true
3030
build-redis-mac:
31-
runs-on: macos-12
31+
runs-on: macos-13
3232
steps:
3333
- uses: actions/checkout@v4
3434
- uses: ./.github/actions/ci

.github/workflows/server.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
run_tests: false
2929
- name: 'Launch test service as background task'
3030
run: $TEST_SERVICE_BINARY $TEST_SERVICE_PORT 2>&1 &
31-
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.2
31+
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.1.0
3232
with:
3333
# Inform the test harness of test service's port.
3434
test_service_port: ${{ env.TEST_SERVICE_PORT }}
@@ -43,7 +43,7 @@ jobs:
4343
cmake_target: launchdarkly-cpp-server
4444
simulate_release: true
4545
build-test-server-mac:
46-
runs-on: macos-12
46+
runs-on: macos-13
4747
steps:
4848
- uses: actions/checkout@v4
4949
- uses: ./.github/actions/ci

.github/workflows/sse.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ jobs:
3232
run_tests: false
3333
- name: 'Launch test service as background task'
3434
run: $TEST_SERVICE_BINARY $TEST_SERVICE_PORT 2>&1 &
35-
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.0
35+
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.1.0
3636
with:
3737
repo: 'sse-contract-tests'
38+
branch: 'main'
3839
test_service_port: ${{ env.TEST_SERVICE_PORT }}
3940
token: ${{ secrets.GITHUB_TOKEN }}

.release-please-manifest.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
2-
"libs/client-sdk": "3.6.3",
3-
"libs/server-sent-events": "0.5.2",
4-
"libs/common": "1.7.0",
5-
"libs/internal": "0.8.1",
6-
"libs/server-sdk": "3.5.3",
7-
"libs/server-sdk-redis-source": "2.1.11"
2+
"libs/client-sdk": "3.8.1",
3+
"libs/server-sent-events": "0.5.4",
4+
"libs/common": "1.9.0",
5+
"libs/internal": "0.10.0",
6+
"libs/server-sdk": "3.8.0",
7+
"libs/server-sdk-redis-source": "2.1.16"
88
}

0 commit comments

Comments
 (0)