Skip to content

Commit

Permalink
Merge branch 'main' into rlamb/remove-vendored-allocate_unique
Browse files Browse the repository at this point in the history
  • Loading branch information
kinyoklion authored Dec 19, 2024
2 parents a4e5d16 + b978ea4 commit 0b1cefa
Show file tree
Hide file tree
Showing 153 changed files with 2,629 additions and 394 deletions.
51 changes: 51 additions & 0 deletions .github/actions/cmake-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This is a composite to allow sharing these steps into other workflows.
# It isn't a shared workflow, because then it isn't convenient to add
# additional package-specific steps.
name: CMake Integration Test
description: 'CMake integration test suitable for running on multiple platforms.'
inputs:
platform_version:
description: 'Boost platform version'
required: false
default: "22.04"
toolset:
description: 'Boost toolset'
required: false

runs:
using: composite
steps:
- name: Install Ninja
uses: ./.github/actions/install-ninja
- name: Install boost
uses: ./.github/actions/install-boost
id: install-boost
with:
platform_version: ${{ inputs.platform_version }}
toolset: ${{ inputs.toolset }}
- name: Install OpenSSL
uses: ./.github/actions/install-openssl
id: install-openssl
- name: Configure CMake Integration Tests
shell: bash
run: ./scripts/configure-cmake-integration-tests.sh
env:
# These will be injected into the SDK CMake project on the command line, via "-D BOOST_ROOT=..."
# and "-D OPENSSL_ROOT_DIR=...". When the integration tests are configured, they will then be passed
# along in the same manner to those test projects via the command line.
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
CMAKE_INSTALL_PREFIX: ../LAUNCHDARKLY_INSTALL
- name: Build the SDK
shell: bash
run: |
cmake --build build
- name: Install the SDK
shell: bash
run: |
cmake --install build
- name: Run CMake Integration Tests
shell: bash
run: |
export CTEST_OUTPUT_ON_FAILURE=1
cd build/cmake-tests && ctest
2 changes: 1 addition & 1 deletion .github/actions/install-openssl/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ runs:
if: runner.os == 'Windows'
shell: bash
run: |
choco install openssl --version 3.1.1 -y --no-progress
choco install openssl --version 3.4.0 -y --no-progress
if [ -d "C:\Program Files\OpenSSL-Win64" ]; then
echo "OPENSSL_ROOT_DIR=C:\Program Files\OpenSSL-Win64" >> $GITHUB_OUTPUT
else
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/publish-docs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ inputs:
runs:
using: composite
steps:
- uses: launchdarkly/gh-actions/actions/publish-pages@publish-pages-v1.0.1
- uses: launchdarkly/gh-actions/actions/publish-pages@publish-pages-v1.0.2
name: 'Publish to Github pages'
with:
docs_path: ${{ inputs.workspace_path }}/docs
Expand Down
1 change: 1 addition & 0 deletions .github/actions/sdk-release/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ runs:
uses: ./.github/actions/publish-docs
with:
workspace_path: ${{ inputs.sdk_path }}
token: ${{ inputs.github_token }}

- name: Configure MSVC
if: runner.os == 'Windows'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
run_tests: false
- name: 'Launch test service as background task'
run: $TEST_SERVICE_BINARY $TEST_SERVICE_PORT 2>&1 &
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.2
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.1.0
with:
# Inform the test harness of test service's port.
test_service_port: ${{ env.TEST_SERVICE_PORT }}
Expand All @@ -43,7 +43,7 @@ jobs:
cmake_target: launchdarkly-cpp-client
simulate_release: true
build-test-client-mac:
runs-on: macos-12
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ci
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: cmake-integration

on:
push:
branches: [ main ]
paths-ignore:
- '**.md' # Do not need to run CI for markdown changes.
pull_request:
branches: [ "main", "feat/**" ]
paths-ignore:
- '**.md'
schedule:
# Run daily at midnight PST
- cron: '0 8 * * *'

jobs:
test-ubuntu:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/cmake-test
with:
platform_version: '22.04'

test-macos:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/cmake-test
with:
platform_version: '12'

test-windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
- uses: ./.github/actions/cmake-test
env:
BOOST_ROOT: 'C:\local\boost_1_81_0\lib64-msvc-14.3'
with:
platform_version: 2022
toolset: msvc
12 changes: 9 additions & 3 deletions .github/workflows/hello-apps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
smoketest:
strategy:
matrix:
os: [ "ubuntu-22.04", "macos-12", "windows-2022" ]
os: [ "ubuntu-22.04", "macos-13", "windows-2022" ]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -35,11 +35,17 @@ jobs:
env:
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
- name: Dynamically Linked Hello Apps
- name: Dynamically Linked Hello Apps (C API only)
shell: bash
continue-on-error: true # TODO(SC-223804)
# Only the C bindings work with dynamic linking because C++ symbols are hidden
run: ./scripts/run-hello-apps.sh dynamic hello-c-client hello-c-server
env:
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
- name: Dynamically Linked Hello Apps (C and C++ APIs)
shell: bash
continue-on-error: true # TODO(SC-223804)
run: ./scripts/run-hello-apps.sh dynamic-export-all-symbols hello-c-client hello-cpp-client hello-c-server hello-cpp-server
env:
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
OPENSSL_ROOT_DIR: ${{ steps.install-openssl.outputs.OPENSSL_ROOT_DIR }}
6 changes: 1 addition & 5 deletions .github/workflows/manual-publish-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: 16.x
registry-url: 'https://registry.npmjs.org'
- run: sudo apt-get install doxygen
- run: sudo apt-get install doxygen graphviz
- id: build
# Build using the same steps from CI.
name: Build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-sdk-release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
strategy:
matrix:
# Each of the platforms for which release-artifacts need generated.
os: [ ubuntu-latest, windows-2022, macos-12 ]
os: [ ubuntu-latest, windows-2022, macos-13 ]
runs-on: ${{ matrix.os }}
outputs:
hashes-linux: ${{ steps.release-sdk.outputs.hashes-linux }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
strategy:
matrix:
# Each of the platforms for which release-artifacts need generated.
os: [ ubuntu-latest, windows-2022, macos-12 ]
os: [ ubuntu-latest, windows-2022, macos-13 ]
runs-on: ${{ matrix.os }}
needs: [ 'release-please' ]
if: ${{ needs.release-please.outputs.package-client-released == 'true'}}
Expand All @@ -48,7 +48,7 @@ jobs:
strategy:
matrix:
# Each of the platforms for which release-artifacts need generated.
os: [ ubuntu-latest, windows-2022, macos-12 ]
os: [ ubuntu-latest, windows-2022, macos-13 ]
runs-on: ${{ matrix.os }}
needs: [ 'release-please' ]
if: ${{ needs.release-please.outputs.package-server-released == 'true'}}
Expand All @@ -72,7 +72,7 @@ jobs:
strategy:
matrix:
# Each of the platforms for which release-artifacts need generated.
os: [ ubuntu-latest, windows-2022, macos-12 ]
os: [ ubuntu-latest, windows-2022, macos-13 ]
runs-on: ${{ matrix.os }}
needs: [ 'release-please' ]
if: ${{ needs.release-please.outputs.package-server-redis-released == 'true'}}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/server-redis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
cmake_target: launchdarkly-cpp-server-redis-source
simulate_release: true
build-redis-mac:
runs-on: macos-12
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ci
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
run_tests: false
- name: 'Launch test service as background task'
run: $TEST_SERVICE_BINARY $TEST_SERVICE_PORT 2>&1 &
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.2
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.1.0
with:
# Inform the test harness of test service's port.
test_service_port: ${{ env.TEST_SERVICE_PORT }}
Expand All @@ -43,7 +43,7 @@ jobs:
cmake_target: launchdarkly-cpp-server
simulate_release: true
build-test-server-mac:
runs-on: macos-12
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/ci
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/sse.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ jobs:
run_tests: false
- name: 'Launch test service as background task'
run: $TEST_SERVICE_BINARY $TEST_SERVICE_PORT 2>&1 &
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.0
- uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.1.0
with:
repo: 'sse-contract-tests'
branch: 'main'
test_service_port: ${{ env.TEST_SERVICE_PORT }}
token: ${{ secrets.GITHUB_TOKEN }}
12 changes: 6 additions & 6 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"libs/client-sdk": "3.6.3",
"libs/server-sent-events": "0.5.2",
"libs/common": "1.7.0",
"libs/internal": "0.8.1",
"libs/server-sdk": "3.5.3",
"libs/server-sdk-redis-source": "2.1.11"
"libs/client-sdk": "3.8.1",
"libs/server-sent-events": "0.5.4",
"libs/common": "1.9.0",
"libs/internal": "0.10.0",
"libs/server-sdk": "3.8.0",
"libs/server-sdk-redis-source": "2.1.16"
}
Loading

0 comments on commit 0b1cefa

Please sign in to comment.