Skip to content

Commit

Permalink
ci: Add support for Xcode 16 (#1818)
Browse files Browse the repository at this point in the history
  • Loading branch information
dplewis authored Oct 30, 2024
1 parent d5983ba commit 0be6870
Show file tree
Hide file tree
Showing 7 changed files with 88 additions and 122 deletions.
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

0 comments on commit 0be6870

Please sign in to comment.