Add workflow to check PR status #64
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: Check PR | |
on: | |
push: | |
branches: | |
- 'main' | |
- 'develop' | |
- 'release/*' | |
pull_request: | |
types: [opened, synchronize, reopened] | |
branches: | |
- 'main' | |
- 'develop' | |
- 'release/*' | |
env: | |
destination: "platform=iOS Simulator,name=iPhone 14 Pro,OS=latest" | |
configuration: "Debug" | |
noIndex: "COMPILER_INDEX_STORE_ENABLE=NO" | |
noSigning: "CODE_SIGNING_ALLOWED=NO" | |
versionXcode: "14.3.1" | |
jobs: | |
check-pr: | |
name: Check PR before merging | |
runs-on: macos-13 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Select Xcode | |
run: | | |
sudo xcode-select -switch /Applications/Xcode_${versionXcode}.app && /usr/bin/xcodebuild -version | |
- name: Log xcodebuild Version | |
run: | | |
xcodebuild -version | |
# | |
# - name: Run Checkout Tests | |
# run: | | |
# set -o pipefail && xcodebuild -scheme "${scheme}" test -destination "${destination}" "${noIndex}" "${noSigning}" | xcpretty | |
# env: | |
# scheme: CheckoutTests | |
# | |
# - name: Build Checkout SPM Test Project | |
# run: | | |
# set -o pipefail && xcodebuild "build" "-project" "${path}" "-scheme" "${scheme}" "-configuration" "${configuration}" "-destination" "${destination}" "${noIndex}" "${noSigning}" | xcpretty | |
# env: | |
# path: "Checkout/Samples/SPMSample/CheckoutSPMSample.xcodeproj" | |
# scheme: "CheckoutSPMSample" | |
# | |
# | |
# - name: Checkout Pod Update | |
# run: | | |
# cd Checkout/Samples/CocoapodsSample | |
# pod update | |
# | |
# - name: Build Checkout CocoaPods Test Project | |
# run: | | |
# set -o pipefail && xcodebuild "build" "-workspace" "${path}" "-scheme" "${scheme}" "-configuration" "${configuration}" "-destination" "${destination}" "${noIndex}" "${noSigning}" | xcpretty | |
# env: | |
# path: "Checkout/Samples/CocoapodsSample/CheckoutCocoapodsSample.xcworkspace" | |
# scheme: "CheckoutCocoapodsSample" | |
# | |
# - name: Run Frames Unit Tests | |
# run: | | |
# set -o pipefail && xcodebuild -scheme "${scheme}" test -destination "${destination}" "${noIndex}" "${noSigning}" | xcpretty | |
# env: | |
# scheme: "FramesTests" | |
# | |
# - name: Build Frames SPM Test Project | |
# run: | | |
# set -o pipefail && xcodebuild "build" "-project" "${path}" "-scheme" "${scheme}" "-configuration" "${configuration}" "-destination" "${destination}" "${noIndex}" "${noSigning}" | xcpretty | |
# env: | |
# path: "iOS Example Frame SPM/iOS Example Frame SPM.xcodeproj" | |
# scheme: "iOS Example Frame" | |
# | |
# - name: Frames Pod Update | |
# run: | | |
# cd iOS\ Example\ Frame | |
# pod update | |
# | |
# - name: Build Frames CocoaPods Test Project | |
# run: | | |
# set -o pipefail && xcodebuild "build" "-workspace" "${path}" "-scheme" "${scheme}" "-configuration" "${configuration}" "-destination" "${destination}" "${noIndex}" "${noSigning}" | xcpretty | |
# env: | |
# path: "iOS Example Frame/iOS Example Frame.xcworkspace" | |
# scheme: "iOS Example Frame" | |
- name: Shutdown and Erase Simulators | |
run: | | |
xcrun simctl shutdown all && xcrun simctl erase all | |
- name: Build the Project | |
run: | | |
set -o pipefail && xcodebuild clean build "-project" "iOS Example Frame SPM/iOS Example Frame SPM.xcodeproj" "-scheme" "UITest" "-configuration" "UITest" "-destination" "platform=iOS Simulator,name=iPhone 14 Pro,OS=latest" | |
- name: Run UI Tests | |
run: | | |
set -o pipefail && xcodebuild test "-project" "iOS Example Frame SPM/iOS Example Frame SPM.xcodeproj" "-scheme" "UITest" "-configuration" "UITest" "-destination" "platform=iOS Simulator,name=iPhone 14 Pro,OS=latest" |