Document GitHub Actions workflow approval requirements and configuration #6
This file contains hidden or 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: [ master, develop ] | |
| pull_request: | |
| branches: [ master, develop ] | |
| jobs: | |
| build-and-test: | |
| name: Build and Test | |
| runs-on: macos-14 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Mise | |
| uses: jdx/mise-action@v2 | |
| with: | |
| version: 2024.1.0 | |
| - name: Select Xcode | |
| run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer | |
| - name: Generate Project | |
| run: | | |
| tuist install | |
| tuist generate | |
| - name: List Available Schemes | |
| run: | | |
| xcodebuild -list -workspace RBSOdometer.xcworkspace || true | |
| echo "--- Available schemes listed above ---" | |
| - name: Build Framework | |
| run: | | |
| set -o pipefail | |
| xcodebuild build \ | |
| -scheme RBSOdometer \ | |
| -destination 'platform=iOS Simulator,name=iPhone 15,OS=latest' \ | |
| -configuration Debug \ | |
| CODE_SIGN_IDENTITY="" \ | |
| CODE_SIGNING_REQUIRED=NO \ | |
| | tee build.log | |
| - name: Run Tests | |
| run: | | |
| set -o pipefail | |
| xcodebuild test \ | |
| -scheme RBSOdometerTests \ | |
| -destination 'platform=iOS Simulator,name=iPhone 15,OS=latest' \ | |
| -configuration Debug \ | |
| -enableCodeCoverage YES \ | |
| CODE_SIGN_IDENTITY="" \ | |
| CODE_SIGNING_REQUIRED=NO \ | |
| | tee test.log | |
| - name: Build Example App | |
| run: | | |
| set -o pipefail | |
| xcodebuild build \ | |
| -scheme RBSOdometerExample \ | |
| -destination 'platform=iOS Simulator,name=iPhone 15,OS=latest' \ | |
| -configuration Debug \ | |
| CODE_SIGN_IDENTITY="" \ | |
| CODE_SIGNING_REQUIRED=NO \ | |
| | tee example.log | |
| - name: Upload Coverage | |
| if: success() | |
| uses: codecov/codecov-action@v3 | |
| with: | |
| files: ./coverage.xml | |
| flags: unittests | |
| name: codecov-umbrella | |
| fail_ci_if_error: false |