examples #45
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: examples | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: [main, dev] | |
| paths-ignore: | |
| - 'Docs/**' # Docs folder in root of repo | |
| - '**/*.md' # .md files anywhere in the repo | |
| - '**/LICENSE' # LICENSE files anywhere in the repo | |
| - '**/.gitignore' # .gitignore files anywhere in the repo | |
| pull_request: | |
| branches: [main] | |
| paths-ignore: | |
| - 'Docs/**' # Docs folder in root of repo | |
| - '**/*.md' # .md files anywhere in the repo | |
| - '**/LICENSE' # LICENSE files anywhere in the repo | |
| - '**/.gitignore' # .gitignore files anywhere in the repo | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '40 11 * * *' # once a day @ 11:40am UTC (4:40am PST) | |
| jobs: | |
| macOS: | |
| name: macOS | |
| runs-on: macos-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@main | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Movie Timecode - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise | |
| run: xcodebuild -project "Examples/Movie Timecode/Movie Timecode.xcodeproj" -resolvePackageDependencies | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Movie Timecode - Build | |
| run: xcodebuild build -project "Examples/Movie Timecode/Movie Timecode.xcodeproj" -scheme "Movie Timecode" -destination "generic/platform=macOS" | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode UI - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise | |
| run: xcodebuild -project "Examples/Timecode UI/Timecode UI.xcodeproj" -resolvePackageDependencies | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode UI - Build | |
| run: xcodebuild build -project "Examples/Timecode UI/Timecode UI.xcodeproj" -scheme "Timecode UI" -destination "generic/platform=macOS" | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode Math - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise | |
| run: xcodebuild -project "Examples/Timecode Math/Timecode Math.xcodeproj" -resolvePackageDependencies | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode Math - Build | |
| run: xcodebuild build -project "Examples/Timecode Math/Timecode Math.xcodeproj" -scheme "Timecode Math" -destination "generic/platform=macOS" | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| iOS: | |
| name: iOS | |
| runs-on: macos-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@main | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Prepare Device Simulator | |
| id: sim-setup | |
| uses: orchetect/setup-xcode-simulator@v1 | |
| with: | |
| # it's sufficient to use workspace path and scheme from just one of the projects, | |
| # as they all target the same platform/simulator | |
| workspace-path: Examples/Movie Timecode/Movie Timecode.xcodeproj/project.xcworkspace | |
| refresh: true | |
| download: true | |
| scheme: Movie Timecode | |
| target: iOS | |
| - name: Movie Timecode - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise | |
| run: xcodebuild -project "Examples/Movie Timecode/Movie Timecode.xcodeproj" -resolvePackageDependencies | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Movie Timecode - Build # by targeting a simulator, we bypass requiring a Developer Team ID | |
| run: xcodebuild build -project "Examples/Movie Timecode/Movie Timecode.xcodeproj" -scheme "Movie Timecode" -destination "generic/platform=iOS Simulator,name=Any iOS Simulator Device" | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode UI - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise | |
| run: xcodebuild -project "Examples/Timecode UI/Timecode UI.xcodeproj" -resolvePackageDependencies | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode UI - Build # by targeting a simulator, we bypass requiring a Developer Team ID | |
| run: xcodebuild build -project "Examples/Timecode UI/Timecode UI.xcodeproj" -scheme "Timecode UI" -destination "generic/platform=iOS Simulator,name=Any iOS Simulator Device" | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode Math - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise | |
| run: xcodebuild -project "Examples/Timecode Math/Timecode Math.xcodeproj" -resolvePackageDependencies | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} | |
| - name: Timecode Math - Build # by targeting a simulator, we bypass requiring a Developer Team ID | |
| run: xcodebuild build -project "Examples/Timecode Math/Timecode Math.xcodeproj" -scheme "Timecode Math" -destination "generic/platform=iOS Simulator,name=Any iOS Simulator Device" | xcbeautify --renderer github-actions && exit ${PIPESTATUS[0]} |