Improve UI test synchronization for splash #34
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: CycleOne CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| build: | |
| name: Build and Test | |
| runs-on: macos-15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Xcode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '16.3' | |
| - name: Cache iOS Simulator Runtime | |
| id: cache-ios-runtime | |
| uses: actions/cache@v4 | |
| with: | |
| path: /Library/Developer/CoreSimulator/Profiles/Runtimes/ | |
| key: ios-runtime-xcode-16.3 | |
| - name: Install iOS Simulator Runtime | |
| if: steps.cache-ios-runtime.outputs.cache-hit != 'true' | |
| run: | | |
| MAX_ATTEMPTS=3 | |
| DELAY=15 | |
| for attempt in $(seq 1 $MAX_ATTEMPTS); do | |
| echo "Download attempt $attempt of $MAX_ATTEMPTS..." | |
| if xcodebuild -downloadPlatform iOS; then | |
| echo "Runtime downloaded successfully." | |
| break | |
| fi | |
| if [ "$attempt" -eq "$MAX_ATTEMPTS" ]; then | |
| echo "All $MAX_ATTEMPTS attempts failed. Aborting." | |
| exit 1 | |
| fi | |
| echo "Attempt $attempt failed. Retrying in ${DELAY}s..." | |
| sleep $DELAY | |
| DELAY=$((DELAY * 2)) | |
| done | |
| - name: Install dependencies | |
| run: | | |
| export HOMEBREW_NO_AUTO_UPDATE=1 | |
| command -v swiftlint >/dev/null 2>&1 || brew install swiftlint | |
| command -v swiftformat >/dev/null 2>&1 || brew install swiftformat | |
| - name: Run Checks | |
| run: make check |