e - gethamcrest downloads into Carthage/Build #71
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: Build | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
project: Source/OCMockito.xcodeproj | |
jobs: | |
build: | |
name: Build without tests | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
run-config: | |
- { scheme: 'OCMockito-iOS', sdk: 'iphonesimulator', destination: 'platform=iOS Simulator,OS=latest,name=iPhone 14' } | |
- { scheme: 'OCMockito-tvOS', sdk: 'appletvsimulator', destination: 'platform=tvOS Simulator,OS=latest,name=Apple TV' } | |
- { scheme: 'OCMockito-watchOS', sdk: 'watchsimulator', destination: 'platform=watchOS Simulator,OS=latest,name=Apple Watch Series 6 (44mm)' } | |
steps: | |
- name: Check out project | |
uses: actions/checkout@v3 | |
- name: Set up Xcode version | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: '14.3' | |
- name: Show current version of Xcode | |
run: xcodebuild -version | |
- name: Get OCHamcrest | |
run: Frameworks/gethamcrest | |
- name: Build | |
run: xcodebuild build -project '${{ env.project }}' -scheme '${{ matrix.run-config['scheme'] }}' -sdk '${{ matrix.run-config['sdk'] }}' -destination '${{ matrix.run-config['destination'] }}' | xcpretty && exit ${PIPESTATUS[0]} | |
test: | |
name: Build, test, report coverage | |
runs-on: macos-13 | |
env: | |
scheme: 'OCMockito' | |
sdk: 'macosx' | |
steps: | |
- name: Check out project | |
uses: actions/checkout@v3 | |
- name: Set up Xcode version | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: '14.3' | |
- name: Show current version of Xcode | |
run: xcodebuild -version | |
- name: Get OCHamcrest | |
run: Frameworks/gethamcrest | |
- name: Build & test | |
run: xcodebuild test -project '${{ env.project }}' -scheme '${{ env.scheme }}' -sdk '${{ env.sdk }}' | xcpretty && exit ${PIPESTATUS[0]} | |
- name: Install gems | |
run: | | |
bundle config path vendor/bundle | |
bundle config set --local without 'documentation' | |
bundle install --jobs 4 --retry 3 | |
- name: Extract branch name | |
shell: bash | |
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" | |
id: get_branch | |
- name: Report coverage | |
run: bundle exec slather | |
env: | |
GIT_BRANCH: ${{ steps.get_branch.outputs.branch }} | |
CI_PULL_REQUEST: ${{ github.event.number }} | |
COVERAGE_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
buildSwiftPackage: | |
needs: [ build, test ] | |
name: Build Swift package | |
runs-on: macos-13 | |
steps: | |
- name: Check out project | |
uses: actions/checkout@v3 | |
- name: Set up Xcode version | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: '14.3' | |
- name: Build | |
run: cd Source; swift build -v | |
podspec: | |
needs: [ build, test ] | |
name: Pod Spec Lint | |
runs-on: macos-13 | |
steps: | |
- name: Check out project | |
uses: actions/checkout@v3 | |
- name: Show current version of CocoaPods | |
run: pod --version | |
- name: Lint the pod spec | |
run: pod spec lint --quick | |
auto-merge: | |
needs: [ buildSwiftPackage, podspec ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v3 | |
- name: auto-merge | |
if: | | |
github.actor == 'dependabot[bot]' && | |
github.event_name == 'pull_request' | |
run: | | |
./merge_dependabot.sh | |
env: | |
PR_URL: ${{github.event.pull_request.html_url}} | |
# this secret needs to be in the settings.secrets.dependabot | |
GITHUB_TOKEN: ${{secrets.GH_ACTION_TOKEN}} |