Skip to content

Commit

Permalink
Integrate GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
ns-vasilev committed Sep 20, 2023
1 parent 89b6736 commit 38287fa
Show file tree
Hide file tree
Showing 2 changed files with 143 additions and 0 deletions.
95 changes: 95 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: "validator"

on:
push:
branches:
- main
- dev
pull_request:
paths:
- '.swiftlint.yml'
branches:
- main
- dev

concurrency:
group: ci
cancel-in-progress: true

jobs:
SwiftLint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: GitHub Action for SwiftLint
uses: norio-nomura/[email protected]
with:
args: --strict
env:
DIFF_BASE: ${{ github.base_ref }}
Old:
name: Test Old (iOS, macOS, tvOS, watchOS)
runs-on: macOS-11
env:
DEVELOPER_DIR: "/Applications/Xcode_13.2.app/Contents/Developer"
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- destination: "OS=13.1,name=iPhone 12 Pro"
name: "iOS"
scheme: "Validator-Package"
sdk: iphonesimulator
- destination: "OS=13.1,name=Apple TV"
name: "tvOS"
scheme: "Validator-Package"
sdk: appletvsimulator
- destination: "OS=7,name=Apple Watch Series 6 (40mm)"
name: "watchOS"
scheme: "Validator-Package"
sdk: watchsimulator
- destination: "platform=macOS"
name: "macOS"
scheme: "Validator-Package"
sdk: macosx
steps:
- uses: actions/checkout@v3
- name: ${{ matrix.name }}
run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean | xcpretty
Latest:
name: Test Latest (iOS, macOS, tvOS, watchOS)
runs-on: macOS-12
env:
DEVELOPER_DIR: "/Applications/Xcode_14.1.app/Contents/Developer"
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
include:
- destination: "OS=16.1,name=iPhone 14 Pro"
name: "iOS"
scheme: "Validator-Package"
sdk: iphonesimulator
- destination: "OS=16.1,name=Apple TV"
name: "tvOS"
scheme: "Validator-Package"
sdk: appletvsimulator
- destination: "OS=9.1,name=Apple Watch Series 8 (45mm)"
name: "watchOS"
scheme: "Validator-Package"
sdk: watchsimulator
- destination: "platform=macOS"
name: "macOS"
scheme: "Validator-Package"
sdk: macosx
steps:
- uses: actions/checkout@v3
- name: ${{ matrix.name }}
run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "./${{ matrix.sdk }}.xcresult" | xcpretty -r junit
- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
xcode: true
xcode_archive_path: "./${{ matrix.sdk }}.xcresult"
48 changes: 48 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
codecov:
# Require CI to pass to show coverage, default yes
require_ci_to_pass: yes
notify:
# Codecov should wait for all CI statuses to complete, default yes
wait_for_ci: yes

coverage:
# Coverage precision range 0-5, default 2
precision: 2

# Direction to round the coverage value - up, down, nearest, default down
round: nearest

# Value range for red...green, default 70...100
range: "70...90"

status:
# Overall project coverage, compare against pull request base
project:
default:
# The required coverage value
target: 50%

# The leniency in hitting the target. Allow coverage to drop by X%
threshold: 5%

# Only measure lines adjusted in the pull request or single commit, if the commit in not in the pr
patch:
default:
# The required coverage value
target: 85%

# Allow coverage to drop by X%
threshold: 5%
changes: no

comment:
# Pull request Codecov comment format.
# diff: coverage diff of the pull request
# files: a list of files impacted by the pull request (coverage changes, file is new or removed)
layout: "diff, files"

# Update Codecov comment, if exists. Otherwise post new
behavior: default

# If true, only post the Codecov comment if coverage changes
require_changes: false

0 comments on commit 38287fa

Please sign in to comment.