chore: Bump Xcode version in CI #521
Workflow file for this run
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_LATEST: '/Applications/Xcode_15.0.app/Contents/Developer' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
timeout-minutes: 25 | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
destination: ['platform=iOS\ Simulator,name=iPhone\ 14\ Pro\ Max', 'platform\=tvOS\ Simulator,name\=Apple\ TV', 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 5\ \(40mm\)', 'platform=macOS'] | |
action: ['test', 'build'] | |
exclude: | |
- destination: 'platform=iOS\ Simulator,name=iPhone\ 14\ Pro\ Max' | |
action: 'build' | |
- destination: 'platform\=tvOS\ Simulator,name\=Apple\ TV' | |
action: 'build' | |
- destination: 'platform=macOS' | |
action: 'build' | |
- destination: 'platform=watchOS\ Simulator,name=Apple\ Watch\ Series\ 5\ \(40mm\)' | |
action: 'test' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use multiple cores | |
run: defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1 | |
- 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@v3 | |
with: | |
files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} | |
fail_ci_if_error: false | |
env: | |
DEVELOPER_DIR: ${{ env.CI_XCODE_LATEST }} | |
spm-test: | |
timeout-minutes: 25 | |
runs-on: macos-13 | |
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: Use multiple cores | |
run: defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1 | |
- 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@v3 | |
with: | |
files: ${{join(fromJSON(steps.coverage-files.outputs.files), ',')}} | |
env_vars: SPM | |
fail_ci_if_error: false | |
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/SwiftyActions@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@v3 | |
with: | |
env_vars: LINUX | |
fail_ci_if_error: true | |
windows: | |
timeout-minutes: 15 | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: compnerd/[email protected] | |
with: | |
branch: swift-5.9-release | |
tag: 5.9-RELEASE | |
- name: Build | |
run: | | |
swift build -v | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
env_vars: WINDOWSLATEST | |
fail_ci_if_error: false | |
docs: | |
timeout-minutes: 10 | |
needs: linux | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use multiple cores | |
run: defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1 | |
- 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-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use multiple cores | |
run: defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1 | |
- 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 }} |