Merge pull request #61 from adzerk/update/github-actions-versions-to-… #148
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: iOS CI | |
on: [push] | |
jobs: | |
test: | |
name: "Build and test Velocidi SDK using [${{ matrix.os }}, xcode${{ matrix.xcode }}, sdk${{ matrix.sdk }}, ${{ matrix.device }}]" | |
env: | |
WORKSPACE: "VelocidiSDK.xcworkspace" | |
SCHEME: "VelocidiSDK" | |
strategy: | |
matrix: | |
include: | |
- os: "macos-10.15" | |
xcode: "11.7.0" | |
sdk: "13.7" | |
device: "iPhone 11" | |
- os: "macos-10.15" | |
xcode: "12.4" | |
sdk: "14.4" | |
device: "iPhone 11 Pro Max" | |
runs-on: "${{ matrix.os }}" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: "${{ matrix.xcode }}" | |
- name: "Install clang-format" | |
run: brew install clang-format | |
- name: "Install Dependencies" | |
run: make install | |
- name: "Compile and Test Velocidi SDK" | |
env: | |
TEST_SDK: "${{ matrix.sdk }}" | |
TEST_DEVICE: "${{ matrix.device }}" | |
run: | | |
make | |
make test | |
- name: "Verify code linting generated no changes" | |
run: git diff --exit-code -- . ':(exclude)Podfile.lock' | |
build-example-applications: | |
name: "Build example applications" | |
needs: test | |
runs-on: "macos-10.15" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: "latest-stable" | |
- name: "Install clang-format" | |
run: brew install clang-format | |
- name: "Install Dependencies" | |
run: make install | |
- name: "Build example Objective-C application" | |
run: make build-objc-example | |
- name: "Build example Swift application" | |
run: make build-swift-example | |
- name: "Verify code linting generated no changes" | |
run: git diff --exit-code -- . ':(exclude)Examples/Podfile.lock' ':(exclude)Podfile.lock' | |
run-oclint: | |
name: "OClint" | |
needs: test | |
runs-on: "macos-10.15" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: "latest-stable" | |
- name: "Install clang-format" | |
run: brew install clang-format | |
- name: "Install OClint" | |
run: | | |
brew tap oclint/formulae | |
brew install oclint | |
- name: "Install Dependencies" | |
run: make install | |
- name: "Run OCLint for VelocidiSDK" | |
run: make oclint | |
- name: "Run OCLint for example Objective-C application" | |
run: | | |
make build-objc-example | |
make oclint-examples | |
pods-lint: | |
name: "Cocoapods Lint" | |
needs: test | |
runs-on: "macos-latest" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: "latest-stable" | |
- name: "Lint" | |
run: | | |
pod repo update | |
make install | |
make podlint |