Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Add support for Xcode 16 #1818

Merged
merged 3 commits into from
Oct 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 17 additions & 39 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -21,47 +22,36 @@ 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
security default-keychain -s temporary
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:
Expand Down Expand Up @@ -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
Expand Down
20 changes: 4 additions & 16 deletions .github/workflows/release-automated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 4 additions & 16 deletions .github/workflows/release-manual-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ruby-2.7.2
ruby-3.1.0
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
8 changes: 4 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -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'
102 changes: 57 additions & 45 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,56 @@ 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)
httpclient (~> 2.8, >= 2.8.3)
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)
Expand All @@ -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)
Expand All @@ -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