Skip to content

Update CI configuration to use the latest Xcode version and resolve dependencies to specific versions #269

Update CI configuration to use the latest Xcode version and resolve dependencies to specific versions

Update CI configuration to use the latest Xcode version and resolve dependencies to specific versions #269

Workflow file for this run

name: "Contentstack CI"
on:
push:
branches: [ master, staging ]
pull_request:
branches: [ master, staging ]
jobs:
macOS:
name: Test macOS
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Configure Git credentials
run: |
git config --global url."https://x-access-token:${{ secrets.PKG_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Set up Ruby (for installing Bundler and Fastlane)
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Install dep via Carthage
run: |
carthage bootstrap --platform macOS --use-xcframeworks --cache-builds
- name: Install dependencies via Swift Package Manager
run: swift package resolve
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
- name: Create config file
run: |
echo '{
"api_key": "${{ secrets.api_key }}",
"delivery_token": "${{ secrets.delivery_token }}",
"environment": "${{ secrets.environment }}"
}' > Tests/config.json
- name: Build and run tests
run: |
xcodebuild test \
-workspace ContentstackSwift.xcworkspace \
-scheme "ContentstackSwift macOS Tests" \
-destination 'platform=macOS,arch=arm64' \
ONLY_ACTIVE_ARCH=NO \
CODE_SIGNING_ALLOWED=NO
iOS:
name: Test iOS
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Configure Git credentials
run: |
git config --global url."https://x-access-token:${{ secrets.PKG_TOKEN }}@github.com/".insteadOf "https://github.com/"
- name: Set up Ruby (for installing Bundler and Fastlane)
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
- name: Install dep via Carthage
run: |
carthage bootstrap --platform iOS --cache-builds
- name: Install dependencies via Swift Package Manager
run: swift package resolve
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
- name: Create config file
run: |
echo '{
"api_key": "${{ secrets.api_key }}",
"delivery_token": "${{ secrets.delivery_token }}",
"environment": "${{ secrets.environment }}"
}' > Tests/config.json
- name: Build and run tests
run: |
xcodebuild test \
-workspace ContentstackSwift.xcworkspace \
-scheme "ContentstackSwift iOS Tests" \
-destination 'platform=iOS Simulator,name=iPhone 15,OS=17.5' \
-sdk iphonesimulator \
ONLY_ACTIVE_ARCH=NO \
CODE_SIGNING_ALLOWED=NO