diff --git a/.github/workflows/commands-handler.yml b/.github/workflows/commands-handler.yml index 4e34b04c..48f71d24 100644 --- a/.github/workflows/commands-handler.yml +++ b/.github/workflows/commands-handler.yml @@ -11,11 +11,12 @@ jobs: process: name: Process command if: github.event.issue.pull_request && endsWith(github.repository, '-private') != true - runs-on: ubuntu-latest + runs-on: + group: Default steps: - name: Check referred user id: user-check - env: + env: CLEN_BOT: ${{ secrets.CLEN_BOT }} run: echo "expected-user=${{ startsWith(github.event.comment.body, format('@{0} ', env.CLEN_BOT)) }}" >> $GITHUB_OUTPUT - name: Regular comment @@ -23,12 +24,12 @@ jobs: run: echo -e "\033[38;2;19;181;255mThis is regular commit which should be ignored.\033[0m" - name: Checkout repository if: steps.user-check.outputs.expected-user == 'true' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - token: ${{ secrets.GH_TOKEN }} + token: ${{ secrets.GH_TOKEN }} - name: Checkout release actions if: steps.user-check.outputs.expected-user == 'true' - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 @@ -40,4 +41,4 @@ jobs: with: token: ${{ secrets.GH_TOKEN }} listener: ${{ secrets.CLEN_BOT }} - jira-api-key: ${{ secrets.JIRA_API_KEY }} \ No newline at end of file + jira-api-key: ${{ secrets.JIRA_API_KEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d9c73a85..5f16d3c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,20 +2,20 @@ name: Automated product release on: pull_request: - branches: [ master ] - types: [ closed ] - + branches: [master] + types: [closed] jobs: check-release: name: Check release required - runs-on: ubuntu-latest if: github.event.pull_request.merged && endsWith(github.repository, '-private') != true + runs-on: + group: Default outputs: release: ${{ steps.check.outputs.ready }} steps: - name: Checkout actions - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 @@ -28,18 +28,19 @@ jobs: token: ${{ secrets.GH_TOKEN }} publish: name: Publish package - runs-on: macos-12 needs: check-release if: needs.check-release.outputs.release == 'true' + runs-on: + group: macos-gh steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: # This should be the same as the one specified for on.pull_request.branches ref: master token: ${{ secrets.GH_TOKEN }} - name: Checkout actions - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index c567aa54..aa427071 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -10,39 +10,54 @@ defaults: run: shell: bash +env: + LANG: en_US.UTF-8 + LANGUAGE: en_US.UTF-8 + LC_ALL: en_US.UTF-8 + LC_CTYPE: en_US.UTF-8 + jobs: tests: name: Integration and Unit tests - runs-on: macos-12 + runs-on: + group: macos-gh strategy: matrix: environment: [iOS, tvOS, macOS] + timeout-minutes: 5 steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_TOKEN }} - - name: Setup Ruby 2.6.6 + - name: Checkout actions + uses: actions/checkout@v4 + with: + repository: pubnub/client-engineering-deployment-tools + ref: v1 + token: ${{ secrets.GH_TOKEN }} + path: .github/.release/actions + - name: Setup Ruby 3.2.2 uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6.6 + ruby-version: 3.2.2 bundler-cache: true - name: Cache installed Pods - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} restore-keys: | - ${{ runner.os }}-pods- + ${{ runner.os }}-pods- - name: Cache Swift Package Manager - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | .build ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/checkouts key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} restore-keys: | - ${{ runner.os }}-spm- + ${{ runner.os }}-spm- - name: Pre-load simulators list if: ${{ matrix.environment != 'macOS' }} run: xcrun simctl list -j @@ -53,33 +68,39 @@ jobs: uses: ./.github/.release/actions/actions/utils/fast-jobs-failure acceptance-tests: name: Acceptance tests - runs-on: macos-12 + runs-on: + group: macos-gh + timeout-minutes: 10 steps: - name: Checkout repository - uses: actions/checkout@v3 - - name: Setup Ruby 2.6.6 + uses: actions/checkout@v4 + - name: Setup Ruby 3.2.2 uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6.6 + ruby-version: 3.2.2 bundler-cache: true + - name: Setup Node.js 20.x + uses: actions/setup-node@v4 + with: + node-version: "20.x" - name: Cache installed Pods - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} restore-keys: | - ${{ runner.os }}-pods- + ${{ runner.os }}-pods- - name: Cache Swift Package Manager - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | .build ~/Library/Developer/Xcode/DerivedData/**/SourcePackages/checkouts key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} restore-keys: | - ${{ runner.os }}-spm- + ${{ runner.os }}-spm- - name: Checkout mock-server action - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 @@ -103,15 +124,16 @@ jobs: bundle exec fastlane contract_test --env contract-beta && FASTLANE_EXITCODE="${PIPESTATUS[0]}" mv Results/CucumberishTestResults-PubNubContractTestsBeta.json Results/beta.json - name: Upload acceptance tests reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: acceptance-test-reports path: Results/*.json retention-days: 7 all-tests: name: Tests - runs-on: ubuntu-latest needs: [tests, acceptance-tests] + runs-on: + group: Default steps: - name: Tests summary run: echo -e "\033[38;2;95;215;0m\033[1mAll tests successfully passed" diff --git a/.github/workflows/run-validations.yml b/.github/workflows/run-validations.yml index ff2b4af4..a5edab8b 100644 --- a/.github/workflows/run-validations.yml +++ b/.github/workflows/run-validations.yml @@ -10,15 +10,21 @@ defaults: run: shell: bash +env: + LANG: en_US.UTF-8 + LANGUAGE: en_US.UTF-8 + LC_ALL: en_US.UTF-8 + jobs: pubnub-yml: name: "Validate .pubnub.yml" - runs-on: ubuntu-latest + runs-on: + group: Default steps: - name: Checkout project - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout validator action - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 @@ -33,29 +39,30 @@ jobs: uses: ./.github/.release/actions/actions/utils/fast-jobs-failure package-managers-validation: name: Validate package managers - runs-on: macos-12 + runs-on: + group: macos-gh strategy: matrix: managers: [CocoaPods, Swift Package Manager] steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_TOKEN }} - name: Checkout actions - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 token: ${{ secrets.GH_TOKEN }} path: .github/.release/actions - - name: Setup Ruby 2.6.6 + - name: Setup Ruby 3.2.2 uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6.6 + ruby-version: 3.2.2 bundler-cache: true - name: Cache Swift Package Manager - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | .build @@ -70,26 +77,27 @@ jobs: uses: ./.github/.release/actions/actions/utils/fast-jobs-failure demo-app-validation: name: Validate demo application - runs-on: macos-12 + runs-on: + group: macos-gh steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_TOKEN }} - name: Checkout actions - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: pubnub/client-engineering-deployment-tools ref: v1 token: ${{ secrets.GH_TOKEN }} path: .github/.release/actions - - name: Setup Ruby 2.6.6 + - name: Setup Ruby 3.2.2 uses: ruby/setup-ruby@v1 with: - ruby-version: 2.6.6 + ruby-version: 3.2.2 bundler-cache: true - name: Cache Swift Package Manager - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | .build @@ -104,8 +112,9 @@ jobs: uses: ./.github/.release/actions/actions/utils/fast-jobs-failure all-validations: name: Validations - runs-on: ubuntu-latest needs: [pubnub-yml, package-managers-validation, demo-app-validation] + runs-on: + group: Default steps: - name: Validations summary run: echo -e "\033[38;2;95;215;0m\033[1mAll validations passed" diff --git a/Gemfile b/Gemfile index 51325e18..af82b603 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" -gem "cocoapods", :github => "cocoapods/cocoapods", :branch => "master" +gem "cocoapods" gem "fastlane" gem "slather" diff --git a/Gemfile.lock b/Gemfile.lock index 4daa63c1..e1a873a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,66 +1,68 @@ -GIT - remote: https://github.com/cocoapods/cocoapods.git - revision: 4a3159879a29d076d16a20b763f61eb96406a6c1 - branch: master - specs: - cocoapods (1.11.3) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.11.3) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.6.0, < 2.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.6.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.21.0, < 2.0) - GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.5) + CFPropertyList (3.0.7) + base64 + nkf rexml - activesupport (6.1.7) + activesupport (7.1.3.3) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.1) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) - artifactory (3.0.15) + artifactory (3.0.17) atomos (0.1.3) - aws-eventstream (1.2.0) - aws-partitions (1.676.0) - aws-sdk-core (3.168.4) - aws-eventstream (~> 1, >= 1.0.2) + aws-eventstream (1.3.0) + aws-partitions (1.934.0) + aws-sdk-core (3.196.1) + aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.5) + aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.61.0) - aws-sdk-core (~> 3, >= 3.165.0) + aws-sdk-kms (1.82.0) + aws-sdk-core (~> 3, >= 3.193.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.117.2) - aws-sdk-core (~> 3, >= 3.165.0) + aws-sdk-s3 (1.151.0) + aws-sdk-core (~> 3, >= 3.194.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.4) - aws-sigv4 (1.5.2) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) + base64 (0.2.0) + bigdecimal (3.1.8) claide (1.1.0) clamp (1.3.2) - cocoapods-core (1.11.3) - activesupport (>= 5.0, < 7) + cocoapods (1.15.2) + addressable (~> 2.8) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.15.2) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 2.1, < 3.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.8.0) + nap (~> 1.0) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.23.0, < 2.0) + cocoapods-core (1.15.2) + activesupport (>= 5.0, < 8) addressable (~> 2.8) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) @@ -70,7 +72,7 @@ GEM public_suffix (~> 4.0) typhoeus (~> 1.0) cocoapods-deintegrate (1.0.5) - cocoapods-downloader (1.6.3) + cocoapods-downloader (2.1) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.1) @@ -82,19 +84,20 @@ GEM colored2 (3.1.2) commander (4.6.0) highline (~> 2.0.0) - concurrent-ruby (1.1.10) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) declarative (0.0.20) - digest-crc (0.6.4) + digest-crc (0.6.5) rake (>= 12.0.0, < 14.0.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) + domain_name (0.6.20240107) dotenv (2.8.1) + drb (2.2.1) emoji_regex (3.2.3) escape (0.0.4) ethon (0.16.0) ffi (>= 1.15.0) - excon (0.95.0) - faraday (1.10.2) + excon (0.110.0) + faraday (1.10.3) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -122,15 +125,15 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.6) - fastlane (2.211.0) + fastimage (2.3.1) + fastlane (2.220.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) aws-sdk-s3 (~> 1.0) babosa (>= 1.0.3, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) - colored + colored (~> 1.2) commander (~> 4.6) dotenv (>= 2.1.1, < 3.0.0) emoji_regex (>= 0.1, < 4.0) @@ -142,33 +145,35 @@ GEM gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) google-cloud-storage (~> 1.31) highline (~> 2.0) + http-cookie (~> 1.0.5) json (< 3.0.0) jwt (>= 2.1.0, < 3) mini_magick (>= 4.9.4, < 5.0.0) - multipart-post (~> 2.0.0) + multipart-post (>= 2.0.0, < 3.0.0) naturally (~> 2.2) - optparse (~> 0.1.1) + optparse (>= 0.1.1, < 1.0.0) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.3) + security (= 0.1.5) simctl (~> 1.6.3) terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (>= 1.4.5, < 2.0.0) + terminal-table (~> 3) tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3) - ffi (1.15.5) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + ffi (1.16.3) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.32.0) - google-apis-core (>= 0.9.1, < 2.a) - google-apis-core (0.9.2) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -176,31 +181,29 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick - google-apis-iamcredentials_v1 (0.16.0) - google-apis-core (>= 0.9.1, < 2.a) - google-apis-playcustomapp_v1 (0.12.0) - google-apis-core (>= 0.9.1, < 2.a) - google-apis-storage_v1 (0.19.0) - google-apis-core (>= 0.9.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.7.0) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.3.0) - google-cloud-storage (1.44.0) + google-cloud-errors (1.4.0) + google-cloud-storage (1.47.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.19.0) + google-apis-storage_v1 (~> 0.31.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.3.0) + googleauth (1.8.1) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) - memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) @@ -208,97 +211,97 @@ GEM http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) - i18n (1.12.0) + i18n (1.14.5) concurrent-ruby (~> 1.0) - jazzy (0.14.3) + jazzy (0.15.0) cocoapods (~> 1.5) mustache (~> 1.1) open4 (~> 1.3) redcarpet (~> 3.4) rexml (~> 3.2) - rouge (>= 2.0.6, < 4.0) + rouge (>= 2.0.6, < 5.0) sassc (~> 2.1) sqlite3 (~> 1.3) xcinvoke (~> 0.3.0) jmespath (1.6.2) - json (2.6.3) - jwt (2.5.0) + json (2.7.2) + jwt (2.8.1) + base64 liferaft (0.0.6) - memoist (0.16.2) mini_magick (4.12.0) - mini_mime (1.1.2) - minitest (5.16.3) + mini_mime (1.1.5) + mini_portile2 (2.8.6) + minitest (5.23.1) molinillo (0.8.0) multi_json (1.15.0) - multipart-post (2.0.0) + multipart-post (2.4.1) mustache (1.1.1) + mutex_m (0.2.0) nanaimo (0.3.0) nap (1.1.0) naturally (2.2.1) netrc (0.11.0) - nokogiri (1.13.10-arm64-darwin) - racc (~> 1.4) - nokogiri (1.13.10-x86_64-darwin) + nkf (0.2.0) + nokogiri (1.16.5) + mini_portile2 (~> 2.8.2) racc (~> 1.4) open4 (1.3.4) - optparse (0.1.1) + optparse (0.5.0) os (1.1.4) - plist (3.6.0) + plist (3.7.1) public_suffix (4.0.7) - racc (1.6.1) - rake (13.0.6) - redcarpet (3.5.1) + racc (1.8.0) + rake (13.2.1) + redcarpet (3.6.0) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.5) + rexml (3.2.8) + strscan (>= 3.0.9) rouge (2.0.7) ruby-macho (2.5.1) ruby2_keywords (0.0.5) rubyzip (2.3.2) sassc (2.4.0) ffi (~> 1.9) - security (0.1.3) - signet (0.17.0) + security (0.1.5) + signet (0.19.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.8) + simctl (1.6.10) CFPropertyList naturally - slather (2.7.3) + slather (2.8.0) CFPropertyList (>= 2.2, < 4) activesupport clamp (~> 1.3) - nokogiri (>= 1.13.9) + nokogiri (>= 1.14.3) xcodeproj (~> 1.21) - sqlite3 (1.5.4-arm64-darwin) - sqlite3 (1.5.4-x86_64-darwin) + sqlite3 (1.7.3) + mini_portile2 (~> 2.8.0) + strscan (3.1.0) terminal-notifier (2.0.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) trailblazer-option (0.1.2) tty-cursor (0.7.1) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) - tzinfo (2.0.5) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (1.8.0) - webrick (1.7.0) + unicode-display_width (2.5.0) word_wrap (1.0.0) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.22.0) + xcodeproj (1.24.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -309,17 +312,15 @@ GEM rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) - zeitwerk (2.6.6) PLATFORMS - arm64-darwin-21 - x86_64-darwin-19 + ruby DEPENDENCIES - cocoapods! + cocoapods fastlane jazzy slather BUNDLED WITH - 2.3.26 + 2.5.10 diff --git a/Podfile b/Podfile index ebc82ba0..8979f88c 100644 --- a/Podfile +++ b/Podfile @@ -1,10 +1,24 @@ workspace 'PubNub' use_frameworks! +platform :ios, '15.0' + target 'PubNubContractTests' do - pod 'Cucumberish', :git => 'https://github.com/parfeon/Cucumberish.git', :branch => 'master', :inhibit_warnings => true + # pod 'Cucumberish', :git => 'https://github.com/parfeon/Cucumberish.git', :branch => 'master', :inhibit_warnings => true + pod 'Cucumberish' end target 'PubNubContractTestsBeta' do - pod 'Cucumberish', :git => 'https://github.com/parfeon/Cucumberish.git', :branch => 'master', :inhibit_warnings => true + # pod 'Cucumberish', :git => 'https://github.com/parfeon/Cucumberish.git', :branch => 'master', :inhibit_warnings => true + pod 'Cucumberish' +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + if target.name == 'Cucumberish' + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' + end + end + end end \ No newline at end of file diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index b1d2328e..00000000 --- a/Podfile.lock +++ /dev/null @@ -1,22 +0,0 @@ -PODS: - - Cucumberish (1.4.0) - -DEPENDENCIES: - - Cucumberish (from `https://github.com/parfeon/Cucumberish.git`, branch `master`) - -EXTERNAL SOURCES: - Cucumberish: - :branch: master - :git: https://github.com/parfeon/Cucumberish.git - -CHECKOUT OPTIONS: - Cucumberish: - :commit: 6a9a44002b8ba9be6edc957357c244f9f9c7f94e - :git: https://github.com/parfeon/Cucumberish.git - -SPEC CHECKSUMS: - Cucumberish: 6cbd0c1f50306b369acebfe7d9f514c9c287d26c - -PODFILE CHECKSUM: 61a40240486621bb01f596fdd5bc632504940fab - -COCOAPODS: 1.14.3 diff --git a/Tests/PubNubTests/EventEngine/Subscribe/EmitMessagesTests.swift b/Tests/PubNubTests/EventEngine/Subscribe/EmitMessagesTests.swift index 96e0505a..9ff29869 100644 --- a/Tests/PubNubTests/EventEngine/Subscribe/EmitMessagesTests.swift +++ b/Tests/PubNubTests/EventEngine/Subscribe/EmitMessagesTests.swift @@ -60,7 +60,7 @@ class EmitMessagesTests: XCTestCase { listeners.forEach { $0.onEmitMessagesCalled = { receivedMessages in - XCTAssertTrue(receivedMessages.elementsEqual(messages)) + XCTAssertTrue(receivedMessages.map { $0.messageType } == messages.map { $0.messageType }) expectation.fulfill() } } @@ -69,7 +69,7 @@ class EmitMessagesTests: XCTestCase { PubNub.log.debug("Did finish performing EmitMessages effect") }) - wait(for: [expectation], timeout: 0.15) + wait(for: [expectation], timeout: 0.35) } func testListener_MessageCountExceededMaximum() { diff --git a/Tests/PubNubTests/Helpers/AtomicTests.swift b/Tests/PubNubTests/Helpers/AtomicTests.swift index 90fc5a1b..5284a550 100644 --- a/Tests/PubNubTests/Helpers/AtomicTests.swift +++ b/Tests/PubNubTests/Helpers/AtomicTests.swift @@ -141,7 +141,11 @@ class AtomicTests: XCTestCase { } func testConcurreny_FetchOr() { - let queue = DispatchQueue(label: "ConcurrenyQueue Fetch", qos: .userInteractive, attributes: .concurrent) + let queue = DispatchQueue( + label: "ConcurrenyQueue Fetch", + qos: .default, + attributes: .concurrent + ) let repeatCount = 25 let concurrencyCount = 8 let fetchCount: Int32 = 1 @@ -174,7 +178,11 @@ class AtomicTests: XCTestCase { } func testConcurreny_Add() { - let queue = DispatchQueue(label: "ConcurrenyQueue Add", qos: .userInteractive, attributes: .concurrent) + let queue = DispatchQueue( + label: "ConcurrenyQueue Add", + qos: .default, + attributes: .concurrent + ) let repeatCount = 25 let concurrencyCount: Int32 = 8 diff --git a/fastlane/.env.contract b/fastlane/.env.contract index 159064b5..a611f385 100644 --- a/fastlane/.env.contract +++ b/fastlane/.env.contract @@ -1,6 +1,6 @@ -DEVICE="iPhone 11 (14.0)" +DEVICE="iPhone 15 (17.5)" -DESTINATION_EXAMPLE="OS=14.0,name=iPhone 11" +DESTINATION_EXAMPLE="OS=17.5,name=iPhone 15" TEST_OUTPUT_DIR="fastlane/test_output/iOS" SCHEME_SDK=PubNubContractTests PLATFORM=ios diff --git a/fastlane/.env.contract-beta b/fastlane/.env.contract-beta index a37ebddd..4d7fc987 100644 --- a/fastlane/.env.contract-beta +++ b/fastlane/.env.contract-beta @@ -1,6 +1,6 @@ -DEVICE="iPhone 11 (14.0)" +DEVICE="iPhone 15 (17.4)" -DESTINATION_EXAMPLE="OS=14.0,name=iPhone 11" +DESTINATION_EXAMPLE="OS=17.4,name=iPhone 15" TEST_OUTPUT_DIR="fastlane/test_output/iOS" SCHEME_SDK=PubNubContractTestsBeta PLATFORM=ios diff --git a/fastlane/.env.ios b/fastlane/.env.ios index 24a94cc6..b54a7eec 100644 --- a/fastlane/.env.ios +++ b/fastlane/.env.ios @@ -1,7 +1,7 @@ -DEVICES="iPhone 12 (14.5),iPhone 12 (15.4)" -COVERAGE="iPhone 11 (15.4)" +DEVICES="iPhone 13 (15.5),iPhone 15 (17.5)" +COVERAGE="iPhone 15 (17.5)" -DESTINATION_EXAMPLE="OS=16.2,name=iPhone 12" +DESTINATION_EXAMPLE="OS=17.4,name=iPhone 15" TEST_OUTPUT_DIR="fastlane/test_output/iOS" SCHEME_EXAMPLE=Example-iOS PLATFORM=ios diff --git a/fastlane/.env.macos b/fastlane/.env.macos index e98907ef..3a5c467e 100644 --- a/fastlane/.env.macos +++ b/fastlane/.env.macos @@ -1,3 +1,3 @@ -DESTINATION="arch=x86_64" +DESTINATION="platform=macOS,arch=x86_64" TEST_OUTPUT_DIR="fastlane/test_output/macOS" PLATFORM=mac diff --git a/fastlane/.env.tvos b/fastlane/.env.tvos index e1e9479b..62526f60 100644 --- a/fastlane/.env.tvos +++ b/fastlane/.env.tvos @@ -1,5 +1,5 @@ -DEVICES="Apple TV (14.5),Apple TV (15.4)" -COVERAGE="Apple TV (15.4)" +DEVICES="Apple TV (15.4),Apple TV (17.5)" +COVERAGE="Apple TV (17.5)" TEST_OUTPUT_DIR="fastlane/test_output/tvOS" PLATFORM=tvos