ci: Update Xcode to 15.4 #632
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: '*' | |
merge_group: | |
branches: [ main ] | |
env: | |
CI_XCODE_OLDEST: '/Applications/Xcode_13.3.1.app/Contents/Developer' | |
CI_XCODE_14: '/Applications/Xcode_14.3.1.app/Contents/Developer' | |
CI_XCODE_LATEST: '/Applications/Xcode_15.4.app/Contents/Developer' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
timeout-minutes: 25 | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
destination: ['platform=iOS\ Simulator,name=iPhone\ 15\ Pro\ Max', 'platform\=tvOS\ Simulator,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)', 'platform=visionOS\ Simulator,name=Apple\ Vision\ Pro', 'platform=macOS'] | |
action: ['test', 'build'] | |
exclude: | |
- destination: 'platform=iOS\ Simulator,name=iPhone\ 15\ Pro\ Max' | |
action: 'build' | |
- destination: 'platform\=tvOS\ Simulator,name\=Apple\ TV' | |
action: 'build' | |
- destination: 'platform=macOS' | |
action: 'build' | |
- destination: 'platform=visionOS\ Simulator,name=Apple\ Vision\ Pro' | |
action: 'build' | |
- destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 9\ \(41mm\)' | |
action: 'test' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install SwiftLint | |
run: brew install swiftlint | |
- 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: Build-Test | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -derivedDataPath DerivedData -destination ${{ matrix.destination }} ${{ matrix.action }} | xcpretty -c | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Prepare codecov | |
uses: sersoft-gmbh/swift-coverage-action@v4 | |
id: coverage-files | |
with: | |
format: lcov | |
search-paths: ./DerivedData | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
spm-test: | |
timeout-minutes: 25 | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: Install SwiftLint | |
run: brew install swiftlint | |
- name: Build-Test | |
run: set -o pipefail && env NSUnbufferedIO=YES swift test --enable-code-coverage | xcpretty -c | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Prepare codecov | |
uses: sersoft-gmbh/swift-coverage-action@v4 | |
id: coverage-files | |
with: | |
format: lcov | |
search-paths: ./.build | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} | |
env_vars: SPM | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
xcode-test-5_5: | |
timeout-minutes: 25 | |
needs: linux | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build-Test | |
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace Parse.xcworkspace -scheme ParseSwift -destination platform\=iOS\ Simulator,name\=iPhone\ 13\ Pro\ Max -derivedDataPath DerivedData build | xcpretty -c | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_OLDEST }} | |
linux: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: sersoft-gmbh/swifty-linux-action@v3 | |
with: | |
release-version: "5" | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and Test | |
run: swift test --enable-test-discovery --enable-code-coverage -v | |
- name: Prepare codecov | |
run: | | |
cat .codecov.yml | curl --data-binary @- https://codecov.io/validate | |
llvm-cov export -format="lcov" .build/x86_64-unknown-linux-gnu/debug/ParseSwiftPackageTests.xctest -instr-profile .build/x86_64-unknown-linux-gnu/debug/codecov/default.profdata > info_linux.lcov | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
env_vars: LINUX | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
windows: | |
timeout-minutes: 15 | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: compnerd/[email protected] | |
with: | |
branch: swift-5.10-release | |
tag: 5.10-RELEASE | |
- name: Build | |
run: | | |
swift build -v | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
env_vars: WINDOWSLATEST | |
fail_ci_if_error: false | |
token: ${{ secrets.CODECOV_TOKEN }} | |
docs: | |
timeout-minutes: 10 | |
needs: linux | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Generate Docs | |
run: set -o pipefail && env NSUnbufferedIO=YES Scripts/generate-documentation | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
cocoapods: | |
needs: linux | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Framework Version | |
run: ./Scripts/update_build | |
env: | |
BUILD_VERSION: '4.16.2' | |
- name: CocoaPods | |
run: pod lib lint --allow-warnings | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} |