From 2afb71e34617387085fddcbe4e7e89dfd2b9d306 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Mon, 10 Nov 2025 12:30:56 +0000 Subject: [PATCH 1/9] [CI] Bump Xcode version to 26.1 --- .github/workflows/cron-checks.yml | 6 +++--- .github/workflows/smoke-checks.yml | 2 +- fastlane/Fastfile | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cron-checks.yml b/.github/workflows/cron-checks.yml index 6b31ef0..fa4de76 100644 --- a/.github/workflows/cron-checks.yml +++ b/.github/workflows/cron-checks.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: include: - - ios: "26.0" + - ios: "26.1" device: "iPhone 17 Pro" setup_runtime: false - ios: "18.5" @@ -39,7 +39,7 @@ jobs: fail-fast: false runs-on: macos-15 env: - XCODE_VERSION: "26.0.1" + XCODE_VERSION: "26.1" steps: - uses: actions/checkout@v4.1.1 - uses: ./.github/actions/bootstrap @@ -73,7 +73,7 @@ jobs: strategy: matrix: include: - - xcode: 26.0.1 # swift 6.2 + - xcode: 26.1 # swift 6.2 os: macos-15 - xcode: 16.4 # swift 6.1 os: macos-15 diff --git a/.github/workflows/smoke-checks.yml b/.github/workflows/smoke-checks.yml index d97fb32..4e1cc52 100644 --- a/.github/workflows/smoke-checks.yml +++ b/.github/workflows/smoke-checks.yml @@ -20,7 +20,7 @@ concurrency: env: HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI - IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0)" + IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.1)" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_PR_NUM: ${{ github.event.pull_request.number }} diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 70dabdc..0b7b70a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -6,7 +6,7 @@ require 'json' require 'net/http' import 'Sonarfile' -xcode_version = ENV['XCODE_VERSION'] || '26.0.1' +xcode_version = ENV['XCODE_VERSION'] || '26.1' xcode_project = 'StreamFeeds.xcodeproj' sdk_names = ['StreamFeeds'] github_repo = ENV['GITHUB_REPOSITORY'] || 'GetStream/stream-feeds-swift' From ef225d57dff00bd1d91d78d12ea08890243e5fc6 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Mon, 10 Nov 2025 12:45:08 +0000 Subject: [PATCH 2/9] Update sim name --- .github/workflows/cron-checks.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cron-checks.yml b/.github/workflows/cron-checks.yml index fa4de76..8e6af61 100644 --- a/.github/workflows/cron-checks.yml +++ b/.github/workflows/cron-checks.yml @@ -40,6 +40,7 @@ jobs: runs-on: macos-15 env: XCODE_VERSION: "26.1" + IOS_SIMULATOR_DEVICE: "${{ matrix.device }} (${{ matrix.ios }})" steps: - uses: actions/checkout@v4.1.1 - uses: ./.github/actions/bootstrap @@ -53,7 +54,7 @@ jobs: version: ${{ matrix.ios }} device: ${{ matrix.device }} - name: Run LLC Tests (Debug) - run: bundle exec fastlane test device:"${{ matrix.device }} (${{ matrix.ios }})" cron:true + run: bundle exec fastlane test device:"${{ env.IOS_SIMULATOR_DEVICE }}" cron:true timeout-minutes: 60 - name: Parse xcresult if: failure() From af6d8c07f9df5d99bf2f8bda65c0c5907f5dbaed Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Mon, 10 Nov 2025 15:18:17 +0000 Subject: [PATCH 3/9] Force check --- fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0b7b70a..7fd40ad 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -14,7 +14,7 @@ derived_data_path = 'derived_data' source_packages_path = 'spm_cache' swift_environment_path = File.absolute_path("../Sources/#{sdk_names.first}/Utils/SystemEnvironment+Version.swift") is_localhost = !is_ci -@force_check = false +@force_check = true before_all do |lane| if is_ci From 66bf6cd6240bf02e577c3d41c9d75e6aa1b4395b Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Mon, 10 Nov 2025 15:19:54 +0000 Subject: [PATCH 4/9] Test --- .github/workflows/smoke-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke-checks.yml b/.github/workflows/smoke-checks.yml index 4e1cc52..d97fb32 100644 --- a/.github/workflows/smoke-checks.yml +++ b/.github/workflows/smoke-checks.yml @@ -20,7 +20,7 @@ concurrency: env: HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI - IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.1)" + IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0)" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_PR_NUM: ${{ github.event.pull_request.number }} From 0930aff13f773d9abad1673ab10bdeabd522164d Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Mon, 10 Nov 2025 15:24:42 +0000 Subject: [PATCH 5/9] Test --- .github/workflows/smoke-checks.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smoke-checks.yml b/.github/workflows/smoke-checks.yml index d97fb32..a6bb7de 100644 --- a/.github/workflows/smoke-checks.yml +++ b/.github/workflows/smoke-checks.yml @@ -20,7 +20,7 @@ concurrency: env: HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI - IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0)" + IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0.1)" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_PR_NUM: ${{ github.event.pull_request.number }} @@ -94,4 +94,4 @@ jobs: - uses: ./.github/actions/ruby-cache - uses: ./.github/actions/xcode-cache - name: Build Demo App - run: bundle exec fastlane build_demo + run: bundle exec fastlane build_demo device:"${{ env.IOS_SIMULATOR_DEVICE }}" From d92550114dad89d49c223bfdcde78b86318dd426 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Mon, 10 Nov 2025 15:29:41 +0000 Subject: [PATCH 6/9] Update version --- .github/workflows/smoke-checks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke-checks.yml b/.github/workflows/smoke-checks.yml index a6bb7de..0604fba 100644 --- a/.github/workflows/smoke-checks.yml +++ b/.github/workflows/smoke-checks.yml @@ -20,7 +20,7 @@ concurrency: env: HOMEBREW_NO_INSTALL_CLEANUP: 1 # Disable cleanup for homebrew, we don't need it on CI - IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.0.1)" + IOS_SIMULATOR_DEVICE: "iPhone 17 Pro (26.1)" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_PR_NUM: ${{ github.event.pull_request.number }} From ba7e7e6f26c05a02517676aeeb4d415dbdb78be9 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Thu, 11 Dec 2025 14:45:24 +0000 Subject: [PATCH 7/9] Bump Xcode version to 26.1.1 --- .github/workflows/cron-checks.yml | 4 ++-- fastlane/Fastfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cron-checks.yml b/.github/workflows/cron-checks.yml index 8e6af61..eeaac6f 100644 --- a/.github/workflows/cron-checks.yml +++ b/.github/workflows/cron-checks.yml @@ -39,7 +39,7 @@ jobs: fail-fast: false runs-on: macos-15 env: - XCODE_VERSION: "26.1" + XCODE_VERSION: "26.1.1" IOS_SIMULATOR_DEVICE: "${{ matrix.device }} (${{ matrix.ios }})" steps: - uses: actions/checkout@v4.1.1 @@ -74,7 +74,7 @@ jobs: strategy: matrix: include: - - xcode: 26.1 # swift 6.2 + - xcode: 26.1.1 # swift 6.2 os: macos-15 - xcode: 16.4 # swift 6.1 os: macos-15 diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 7fd40ad..7fe6815 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -6,7 +6,7 @@ require 'json' require 'net/http' import 'Sonarfile' -xcode_version = ENV['XCODE_VERSION'] || '26.1' +xcode_version = ENV['XCODE_VERSION'] || '26.1.1' xcode_project = 'StreamFeeds.xcodeproj' sdk_names = ['StreamFeeds'] github_repo = ENV['GITHUB_REPOSITORY'] || 'GetStream/stream-feeds-swift' From 7864ccc409765876fbd3030a7b0f6698fe547488 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Thu, 11 Dec 2025 16:14:06 +0000 Subject: [PATCH 8/9] Replace curl with wget in bootstrap --- Scripts/bootstrap.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Scripts/bootstrap.sh b/Scripts/bootstrap.sh index 175b324..c74679e 100755 --- a/Scripts/bootstrap.sh +++ b/Scripts/bootstrap.sh @@ -30,7 +30,7 @@ if [ "${SKIP_SWIFT_BOOTSTRAP:-}" != true ]; then puts "Install SwiftLint v${SWIFT_LINT_VERSION}" DOWNLOAD_URL="https://github.com/realm/SwiftLint/releases/download/${SWIFT_LINT_VERSION}/SwiftLint.pkg" DOWNLOAD_PATH="/tmp/SwiftLint-${SWIFT_LINT_VERSION}.pkg" - curl -sL "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH" + wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH" sudo installer -pkg "$DOWNLOAD_PATH" -target / swiftlint version @@ -39,7 +39,7 @@ if [ "${SKIP_SWIFT_BOOTSTRAP:-}" != true ]; then DOWNLOAD_PATH="/tmp/swiftformat-${SWIFT_FORMAT_VERSION}.zip" BIN_PATH="/usr/local/bin/swiftformat" brew uninstall swiftformat || true - curl -sL "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH" + wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH" unzip -o "$DOWNLOAD_PATH" -d /tmp/swiftformat-${SWIFT_FORMAT_VERSION} sudo mv /tmp/swiftformat-${SWIFT_FORMAT_VERSION}/swiftformat "$BIN_PATH" sudo chmod +x "$BIN_PATH" @@ -50,7 +50,7 @@ if [ "${SKIP_SWIFT_BOOTSTRAP:-}" != true ]; then DOWNLOAD_PATH="/tmp/swiftgen-${SWIFT_GEN_VERSION}.zip" INSTALL_DIR="/usr/local/lib/swiftgen" BIN_PATH="/usr/local/bin/swiftgen" - curl -sL "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH" + wget "$DOWNLOAD_URL" -O "$DOWNLOAD_PATH" sudo rm -rf "$INSTALL_DIR" sudo mkdir -p "$INSTALL_DIR" sudo unzip -o "$DOWNLOAD_PATH" -d "$INSTALL_DIR" @@ -62,7 +62,7 @@ fi if [[ ${INSTALL_SONAR-default} == true ]]; then puts "Install sonar scanner v${SONAR_VERSION}" DOWNLOAD_URL="https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_VERSION}-macosx-x64.zip" - curl -sL "${DOWNLOAD_URL}" -o ./fastlane/sonar.zip + wget "${DOWNLOAD_URL}" -O ./fastlane/sonar.zip cd fastlane unzip sonar.zip rm sonar.zip @@ -74,12 +74,12 @@ fi if [[ ${INSTALL_ALLURE-default} == true ]]; then puts "Install allurectl v${ALLURECTL_VERSION}" DOWNLOAD_URL="https://github.com/allure-framework/allurectl/releases/download/${ALLURECTL_VERSION}/allurectl_darwin_amd64" - curl -sL "${DOWNLOAD_URL}" -o ./fastlane/allurectl + wget "${DOWNLOAD_URL}" -O ./fastlane/allurectl chmod +x ./fastlane/allurectl puts "Install xcresults v${XCRESULTS_VERSION}" DOWNLOAD_URL="https://github.com/eroshenkoam/xcresults/releases/download/${XCRESULTS_VERSION}/xcresults" - curl -sL "${DOWNLOAD_URL}" -o ./fastlane/xcresults + wget "${DOWNLOAD_URL}" -O ./fastlane/xcresults chmod +x ./fastlane/xcresults fi From 3d3e84147e66b23f9268939aa265088bccf13ae5 Mon Sep 17 00:00:00 2001 From: Alexey Alter-Pesotskiy Date: Fri, 12 Dec 2025 17:33:13 +0000 Subject: [PATCH 9/9] Disable force check --- fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 5298a3b..2c60fdc 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -14,7 +14,7 @@ derived_data_path = 'derived_data' source_packages_path = 'spm_cache' swift_environment_path = File.absolute_path("../Sources/#{sdk_names.first}/Utils/SystemEnvironment+Version.swift") is_localhost = !is_ci -@force_check = true +@force_check = false before_all do |lane| if is_ci