diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae1e5a6a7..1103d6b9d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,8 @@ on: - "**" env: CI_XCODE_14: /Applications/Xcode_14.2.app/Contents/Developer - CI_XCODE_15: /Applications/Xcode_15.0.app/Contents/Developer + CI_XCODE_15: /Applications/Xcode_15.4.0.app/Contents/Developer + CI_XCODE_16: /Applications/Xcode_16.0.app/Contents/Developer jobs: tests: env: @@ -21,29 +22,24 @@ jobs: - test:ios - test:macos - test:parse_live_query:all - - build:starters - - xcode15 # runs build:starters on XCode 15 + - xcode14 # runs build:starters on Xcode 14 + - xcode15 # runs build:starters on Xcode 15 + - xcode16 # runs build:starters on Xcode 16 fail-fast: false - runs-on: macos-13 + runs-on: ${{ ((matrix.script == 'xcode15' || matrix.script == 'xcode16') && 'macos-14') || 'macos-13' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Cache SPM - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/Library/Developer/Xcode/DerivedData/Parse*/SourcePackages/ key: ${{ runner.os }}-spm-${{ hashFiles('Parse.xcworkspace/xcshareddata/swiftpm/Package.resolved') }} restore-keys: | ${{ runner.os }}-spm- - name: Setup Ruby - uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 - - name: Cache Gems - id: cache-gems - uses: actions/cache@v3 + uses: ruby/setup-ruby@v1 with: - path: vendor/bundle - key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gem- + bundler-cache: true - name: Create and set the default keychain run: | security create-keychain -p "" temporary @@ -51,17 +47,11 @@ jobs: security unlock-keychain -p "" temporary security set-keychain-settings -lut 7200 temporary - name: Submodules - run: | - git submodule update --init --recursive - sudo gem install bundler -v 2.4.22 - bundle config set path 'vendor/bundle' - - name: Bundle Install - if: steps.cache-gems.outputs.cache-hit != 'true' - run: bundle install + run: git submodule update --init --recursive - name: Build-Test - run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake ${{ matrix.script == 'xcode15' && 'build:starters' || matrix.script }} + run: set -o pipefail && env NSUnbufferedIO=YES bundle exec rake ${{ ((matrix.script == 'xcode14' || matrix.script == 'xcode15' || matrix.script == 'xcode16') && 'build:starters') || matrix.script }} env: - DEVELOPER_DIR: ${{ (matrix.script == 'xcode15' && env.CI_XCODE_15) || env.CI_XCODE_14 }} + DEVELOPER_DIR: ${{ (matrix.script == 'xcode15' && env.CI_XCODE_15) || (matrix.script == 'xcode16' && env.CI_XCODE_16) || env.CI_XCODE_14 }} - name: Generate Environment Variables if: ${{ always() }} env: @@ -116,25 +106,13 @@ jobs: runs-on: macos-13 timeout-minutes: 15 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Ruby - uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 - - name: Cache Gems - id: cache-gems - uses: actions/cache@v3 + uses: ruby/setup-ruby@v1 with: - path: vendor/bundle - key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gem- + bundler-cache: true - name: Submodules - run: | - git submodule update --init --recursive - sudo gem install bundler -v 2.4.22 - bundle config path vendor/bundle - - name: Bundle Install - if: steps.cache-gems.outputs.cache-hit != 'true' - run: bundle install + run: git submodule update --init --recursive - name: Create Jazzy Docs run: | ./Scripts/jazzy.sh diff --git a/.github/workflows/release-automated.yml b/.github/workflows/release-automated.yml index 80ee5b890..3c6083792 100644 --- a/.github/workflows/release-automated.yml +++ b/.github/workflows/release-automated.yml @@ -49,27 +49,15 @@ jobs: runs-on: macos-13 steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: ref: ${{ needs.release.outputs.current_tag }} - name: Setup Ruby - uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 - - name: Cache Gems - id: cache-gems - uses: actions/cache@v3 + uses: ruby/setup-ruby@v1 with: - path: vendor/bundle - key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gem- + bundler-cache: true - name: Submodules - run: | - git submodule update --init --recursive - sudo gem install bundler -v 2.4.22 - bundle config path vendor/bundle - - name: Bundle Install - if: steps.cache-gems.outputs.cache-hit != 'true' - run: bundle install + run: git submodule update --init --recursive - name: Create Jazzy Docs run: | ./Scripts/jazzy.sh diff --git a/.github/workflows/release-manual-docs.yml b/.github/workflows/release-manual-docs.yml index b5f785d93..a88ef4faf 100644 --- a/.github/workflows/release-manual-docs.yml +++ b/.github/workflows/release-manual-docs.yml @@ -14,27 +14,15 @@ jobs: runs-on: macos-13 steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: ref: ${{ github.event.inputs.tag }} - name: Setup Ruby - uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108 - - name: Cache Gems - id: cache-gems - uses: actions/cache@v3 + uses: ruby/setup-ruby@v1 with: - path: vendor/bundle - key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gem- + bundler-cache: true - name: Submodules - run: | - git submodule update --init --recursive - sudo gem install bundler -v 2.4.22 - bundle config path vendor/bundle - - name: Bundle Install - if: steps.cache-gems.outputs.cache-hit != 'true' - run: bundle install + run: git submodule update --init --recursive - name: Create Jazzy Docs run: | ./Scripts/jazzy.sh diff --git a/.ruby-version b/.ruby-version index 2eb2fe97a..872e12081 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-2.7.2 +ruby-3.1.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9411d42e9..21ab01cfd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,7 @@ For analyzing bugs, creating bug fixes and features we recommend to clone this r Install all dependencies: ``` git submodule update --init --recursive - gem install bundler -v 2.4.22 + gem install bundler -v 2.5.22 bundle install ``` Run the tests: diff --git a/Gemfile b/Gemfile index 6970765d8..bcf060416 100644 --- a/Gemfile +++ b/Gemfile @@ -1,9 +1,9 @@ source 'https://rubygems.org' # Docs -gem 'jazzy', '~> 0.15.0' +gem 'jazzy', '~> 0.15.3' # Development -gem 'xcpretty' -gem 'rake' -gem 'plist' +gem 'xcpretty', '~> 0.4.0' +gem 'rake', '~> 13.2.1' +gem 'plist', '~> 3.7.1' diff --git a/Gemfile.lock b/Gemfile.lock index 6511c5f53..255a43c70 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,11 +5,17 @@ GEM base64 nkf rexml - activesupport (5.2.8.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) + activesupport (7.2.1.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) algoliasearch (1.27.5) @@ -17,37 +23,38 @@ GEM json (>= 1.5.1) atomos (0.1.3) base64 (0.2.0) + bigdecimal (3.1.8) claide (1.1.0) - cocoapods (1.10.2) - addressable (~> 2.6) + cocoapods (1.16.1) + addressable (~> 2.8) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.10.2) + cocoapods-core (= 1.16.1) cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.4.0, < 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.4.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.6.6) + molinillo (~> 0.8.0) nap (~> 1.0) - ruby-macho (~> 1.4) - xcodeproj (>= 1.19.0, < 2.0) - cocoapods-core (1.10.2) - activesupport (> 5.0, < 6) - addressable (~> 2.6) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.26.0, < 2.0) + cocoapods-core (1.16.1) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) netrc (~> 0.11) - public_suffix + 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) @@ -56,18 +63,21 @@ GEM netrc (~> 0.11) cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.3.3) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + drb (2.2.1) escape (0.0.4) ethon (0.16.0) ffi (>= 1.15.0) - ffi (1.17.0) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-darwin) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) - jazzy (0.15.1) + jazzy (0.15.3) cocoapods (~> 1.5) mustache (~> 1.1) open4 (~> 1.3) @@ -77,52 +87,54 @@ GEM sassc (~> 2.1) sqlite3 (~> 1.3) xcinvoke (~> 0.3.0) - json (2.7.2) + json (2.7.4) liferaft (0.0.6) - mini_portile2 (2.8.7) - minitest (5.24.1) - molinillo (0.6.6) + logger (1.6.1) + minitest (5.25.1) + molinillo (0.8.0) mustache (1.1.1) - nanaimo (0.3.0) + nanaimo (0.4.0) nap (1.1.0) netrc (0.11.0) nkf (0.2.0) open4 (1.3.4) plist (3.7.1) public_suffix (4.0.7) - rake (13.0.6) + rake (13.2.1) redcarpet (3.6.0) rexml (3.3.9) - rouge (2.0.7) - ruby-macho (1.4.0) + rouge (3.28.0) + ruby-macho (2.5.1) sassc (2.4.0) ffi (~> 1.9) - sqlite3 (1.7.3) - mini_portile2 (~> 2.8.0) - thread_safe (0.3.6) + securerandom (0.3.1) + sqlite3 (1.7.3-arm64-darwin) + sqlite3 (1.7.3-x86_64-darwin) typhoeus (1.4.1) ethon (>= 0.9.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.19.0) + xcodeproj (1.26.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.3.0) - xcpretty (0.3.0) - rouge (~> 2.0.7) + nanaimo (~> 0.4.0) + rexml (>= 3.3.6, < 4.0) + xcpretty (0.4.0) + rouge (~> 3.28.0) PLATFORMS - ruby + arm64-darwin + x86_64-darwin DEPENDENCIES - jazzy (~> 0.15.0) - plist - rake - xcpretty + jazzy (~> 0.15.3) + plist (~> 3.7.1) + rake (~> 13.2.1) + xcpretty (~> 0.4.0) BUNDLED WITH - 2.4.22 + 2.5.22