From 59adace8cd115cbe46606a2bf2cd2e1ea2966260 Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jul 2026 15:24:12 -0700 Subject: [PATCH] ci: Verify streaming connection close contract test from harness PR Temporary do-not-merge branch: builds the sdk-test-harness from the PR branch that adds the client-side streaming connection-lifecycle test and runs only that test against the contract test service. Other CI jobs are removed to avoid burning macOS runner time on a throwaway verification. --- .github/actions/contract-tests/action.yml | 26 ++++- .github/workflows/ci.yml | 136 +--------------------- 2 files changed, 25 insertions(+), 137 deletions(-) diff --git a/.github/actions/contract-tests/action.yml b/.github/actions/contract-tests/action.yml index a5023647..d8f01b45 100644 --- a/.github/actions/contract-tests/action.yml +++ b/.github/actions/contract-tests/action.yml @@ -16,8 +16,26 @@ runs: shell: bash run: make start-contract-test-service-bg - - uses: launchdarkly/gh-actions/actions/contract-tests@contract-tests-v1.0.2 + - uses: actions/setup-go@v5 with: - test_service_port: 8080 - token: ${{ inputs.token }} - extra_params: "-status-timeout 120 -skip-from ./ContractTests/testharness-suppressions.txt" + go-version: 'stable' + cache: false + + # Temporary: build the harness from the sdk-test-harness PR #377 branch + # (adds the streaming connection-lifecycle test) instead of downloading a + # released harness binary, and run only that test. + - name: Build harness from PR branch + shell: bash + run: | + git clone --depth 1 -b jb/sdk-2669/fdv1-close-contract-test https://github.com/launchdarkly/sdk-test-harness.git /tmp/sdk-test-harness + cd /tmp/sdk-test-harness + go build -o testharness . + + - name: Run connection lifecycle contract test + shell: bash + run: | + /tmp/sdk-test-harness/testharness \ + -url http://localhost:8080 \ + -run 'streaming/connection lifecycle' \ + -debug -status-timeout 120 -stop-service-at-end \ + -skip-from ./ContractTests/testharness-suppressions.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f42b0fd..52b9a82a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,128 +9,10 @@ on: paths-ignore: - '**.md' +# Temporary verification branch: CI is stripped down to the contract-tests job +# only, so the expensive macOS build/test matrix does not run for a throwaway +# do-not-merge PR. See the PR description for context. jobs: - lint: - runs-on: macos-15 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: 16.4.0 - - - uses: ./.github/actions/lint - - build-ios: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - include: - - xcode-version: 16.4.0 - ios-sim: "platform=iOS Simulator,name=iPhone 16" - os: macos-15 - - xcode-version: 15.4.0 - ios-sim: "platform=iOS Simulator,name=iPhone 15" - os: macos-14 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: ${{ matrix.xcode-version }} - - - uses: ./.github/actions/build-ios - with: - ios-sim: ${{ matrix.ios-sim }} - - build-macos: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - include: - - xcode-version: 16.4.0 - os: macos-15 - - xcode-version: 15.4.0 - os: macos-14 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: ${{ matrix.xcode-version }} - - - uses: ./.github/actions/build-macos - - build-tvos: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - include: - - xcode-version: 16.4.0 - os: macos-15 - - xcode-version: 15.4.0 - os: macos-14 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: ${{ matrix.xcode-version }} - - - uses: ./.github/actions/build-tvos - - build-watchos: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - include: - - xcode-version: 16.4.0 - os: macos-15 - - xcode-version: 15.4.0 - os: macos-14 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: ${{ matrix.xcode-version }} - - - uses: ./.github/actions/build-watchos - - test-swiftpm: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - include: - - xcode-version: 16.4.0 - os: macos-15 - - xcode-version: 15.4.0 - os: macos-14 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: ${{ matrix.xcode-version }} - - - uses: ./.github/actions/test-swiftpm - contract-tests: runs-on: macos-15 @@ -144,15 +26,3 @@ jobs: - uses: ./.github/actions/contract-tests with: token: ${{ secrets.GITHUB_TOKEN }} - - build-docs: - runs-on: macos-15 - - steps: - - uses: actions/checkout@v4 - - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd - with: - xcode-version: 16.4.0 - - - uses: ./.github/actions/build-docs