Skip to content

Commit 59c640a

Browse files
authored
Merge branch 'main' into dependabot/npm_and_yarn/packages/sdk/server-ai/examples/vercel-ai/ai-5.0.52
2 parents 0c4a08a + abe5e34 commit 59c640a

Some content is hidden

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

56 files changed

+846
-400
lines changed

.github/workflows/akamai-base.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-akamai:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
- id: shared
2020
name: Shared CI Steps

.github/workflows/akamai-edgekv.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-akamai-edgekv:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
- id: shared
2020
name: Shared CI Steps

.github/workflows/akamai-edgeworker-sdk.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-akamai-edgeworker-sdk:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
with:
2020
node-version: 24.x

.github/workflows/browser-telemetry.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-browser-telemetry:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
with:
2020
node-version: 24.x

.github/workflows/browser.yml

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
version: [18, 21]
2323

2424
steps:
25-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
25+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
2626
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
2727
with:
2828
node-version: ${{ matrix.version }}
@@ -42,3 +42,89 @@ jobs:
4242
package_name: '@launchdarkly/js-client-sdk'
4343
pr_number: ${{ github.event.number }}
4444
size_limit: 25000
45+
46+
# Contract Tests
47+
- name: Install contract test dependencies
48+
run: yarn workspaces focus browser-contract-test-adapter browser-contract-test-service
49+
50+
- name: Install Playwright browsers
51+
run: yarn workspace browser-contract-test-service install-playwright-browsers
52+
53+
- name: Build contract test adapter
54+
run: yarn workspace browser-contract-test-adapter run build
55+
56+
- name: Build contract test entity (browser app)
57+
run: yarn workspace browser-contract-test-service run build
58+
59+
- name: Start contract test adapter in background
60+
run: |
61+
yarn workspace browser-contract-test-adapter run start > /tmp/adapter.log 2>&1 &
62+
echo $! > /tmp/adapter.pid
63+
64+
- name: Serve browser app with http-server
65+
run: |
66+
npx http-server packages/sdk/browser/contract-tests/entity/dist -p 5173 --cors > /tmp/http-server.log 2>&1 &
67+
echo $! > /tmp/http-server.pid
68+
69+
- name: Wait for services to be ready
70+
run: |
71+
echo "Waiting for adapter on port 8001..."
72+
for i in {1..30}; do
73+
if nc -z localhost 8001; then
74+
echo "Adapter WebSocket ready"
75+
break
76+
fi
77+
if [ $i -eq 30 ]; then
78+
echo "Timeout waiting for adapter"
79+
cat /tmp/adapter.log
80+
exit 1
81+
fi
82+
sleep 1
83+
done
84+
85+
echo "Waiting for HTTP server on port 5173..."
86+
for i in {1..30}; do
87+
if curl -s http://localhost:5173 > /dev/null; then
88+
echo "HTTP server ready"
89+
break
90+
fi
91+
if [ $i -eq 30 ]; then
92+
echo "Timeout waiting for HTTP server"
93+
cat /tmp/http-server.log
94+
exit 1
95+
fi
96+
sleep 1
97+
done
98+
99+
- name: Open browser app in headless Chromium
100+
run: |
101+
node packages/sdk/browser/contract-tests/entity/open-browser.mjs http://localhost:5173 > /tmp/playwright.log 2>&1 &
102+
echo $! > /tmp/playwright.pid
103+
sleep 5 # Give the browser time to initialize and connect via WebSocket
104+
105+
- name: Run contract tests
106+
uses: launchdarkly/gh-actions/actions/contract-tests@21174f3a7f3aa3e3121227ec91842e8a1ebeec6e
107+
with:
108+
test_service_port: 8000
109+
token: ${{ secrets.GITHUB_TOKEN }}
110+
extra_params: '--skip-from=${{ github.workspace }}/packages/sdk/browser/contract-tests/suppressions.txt --stop-service-at-end'
111+
112+
- name: Print logs on failure
113+
if: failure()
114+
run: |
115+
echo "=== Adapter Log ==="
116+
cat /tmp/adapter.log || echo "No adapter log"
117+
echo "=== HTTP Server Log ==="
118+
cat /tmp/http-server.log || echo "No http-server log"
119+
echo "=== Playwright Log ==="
120+
cat /tmp/playwright.log || echo "No playwright log"
121+
122+
- name: Cleanup contract test services
123+
if: always()
124+
run: |
125+
[ -f /tmp/playwright.pid ] && kill $(cat /tmp/playwright.pid) || true
126+
[ -f /tmp/http-server.pid ] && kill $(cat /tmp/http-server.pid) || true
127+
[ -f /tmp/adapter.pid ] && kill $(cat /tmp/adapter.pid) || true
128+
pkill -f "playwright" || true
129+
pkill -f "http-server" || true
130+
pkill -f "browser-contract-test-adapter" || true

.github/workflows/cloudflare.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-cloudflare:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
- id: shared
2020
name: Shared CI Steps

.github/workflows/combined-browser.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
version: [18, 21]
2323

2424
steps:
25-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
25+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
2626
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
2727
with:
2828
node-version: ${{ matrix.version }}

.github/workflows/common.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-common:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
with:
2020
node-version: 24.x

.github/workflows/dependency-scan.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
generate-nodejs-sbom:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
13+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1414

1515
- name: Generate SBOM
1616
uses: launchdarkly/gh-actions/actions/dependency-scan/generate-sbom@main
@@ -22,7 +22,7 @@ jobs:
2222
needs:
2323
- generate-nodejs-sbom
2424
steps:
25-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
25+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
2626

2727
- name: Evaluate SBOM Policy
2828
uses: launchdarkly/gh-actions/actions/dependency-scan/evaluate-policy@main

.github/workflows/fastly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
build-test-fastly:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
17+
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
1818
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
1919
- id: shared
2020
name: Shared CI Steps

0 commit comments

Comments
 (0)