From e1fc6adbf4f21b1fea6381dad292d27fc61cad77 Mon Sep 17 00:00:00 2001 From: Marco Eidinger Date: Thu, 20 Jul 2023 17:23:22 -0700 Subject: [PATCH] ci: enable codecov integration --- .github/workflows/swift.yml | 8 +++- .swift-version | 1 - .swiftlint.yml | 20 -------- .travis.yml | 91 ------------------------------------- codecov.yml | 2 + 5 files changed, 9 insertions(+), 113 deletions(-) delete mode 100644 .swift-version delete mode 100644 .swiftlint.yml delete mode 100644 .travis.yml create mode 100644 codecov.yml diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 512608d..9b02142 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -25,4 +25,10 @@ jobs: - name: Build run: swift build -v - name: Run tests - run: swift test -v + run: swift test -v --enable-code-coverage + - name: Convert code coverage report for Codecov + run: xcrun llvm-cov export -format="lcov" .build/debug/TLDExtractPackageTests.xctest/Contents/MacOS/TLDExtractPackageTests -instr-profile .build/debug/codecov/default.profdata > info.lcov + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file diff --git a/.swift-version b/.swift-version deleted file mode 100644 index 819e07a..0000000 --- a/.swift-version +++ /dev/null @@ -1 +0,0 @@ -5.0 diff --git a/.swiftlint.yml b/.swiftlint.yml deleted file mode 100644 index 7aba604..0000000 --- a/.swiftlint.yml +++ /dev/null @@ -1,20 +0,0 @@ -# at v0.6.0 -disabled_rules: - - identifier_name - - trailing_whitespace - - todo - -line_length: 960 -function_body_length: 100 - -identifier_name: - excluded: - - id - - ok - -excluded: - - Source/SPMPSL.swift - - Tests - - Carthage - - Pods - - fastlane diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9c19351..0000000 --- a/.travis.yml +++ /dev/null @@ -1,91 +0,0 @@ -language: objective-c -os: osx -osx_image: xcode11.5 - -branches: - only: - - master - - develop -# - "/^v?[0-9\\.]+/" - -cache: - bundler: true - cocoapods: true - directories: - - Carthage - -env: - global: - - XCODE_PROJECT="TLDExtract.xcodeproj" - - IOS_SCHEME="TLDExtract-iOS" - - MACOS_SCHEME="TLDExtract-macOS" - - TVOS_SCHEME="TLDExtract-tvOS" - -matrix: - include: - # iOS Tests - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=13.5,name=iPhone 11 Pro" COVERAGE="YES" CODECOV_FLAG="ios13" - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=12.4,name=iPhone X" COVERAGE="NO" CODECOV_FLAG="ios12" - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=11.4,name=iPhone 7" COVERAGE="NO" CODECOV_FLAG="ios11" - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=10.3.1,name=iPhone 6" COVERAGE="NO" CODECOV_FLAG="ios10" - # tvOS Tests - - env: XCODE_TEST="YES" SCHEME="$TVOS_SCHEME" DESTINATION="OS=13.4,name=Apple TV 4K" COVERAGE="NO" CODECOV_FLAG="tvos13" - - env: XCODE_TEST="YES" SCHEME="$TVOS_SCHEME" DESTINATION="OS=12.4,name=Apple TV 4K" COVERAGE="NO" CODECOV_FLAG="tvos12" - - env: XCODE_TEST="YES" SCHEME="$TVOS_SCHEME" DESTINATION="OS=11.4,name=Apple TV" COVERAGE="NO" CODECOV_FLAG="tvos11" - # macOS Tests - - env: XCODE_TEST="YES" SCHEME="$MACOS_SCHEME" DESTINATION="arch=x86_64" COVERAGE="NO" CODECOV_FLAG="macos" - # Lint - - env: CARTHAGE_TEST="YES" - - env: SWIFT_LINT="YES" - - env: POD_LINT="NO" - -before_install: - - if [ "$XCODE_TEST" == "YES" ]; then - gem install xcpretty --no-document --quiet; - fi - - if [ "$CARTHAGE_TEST" = "YES" ] || [ "$XCODE_TEST" = "YES" ]; then - brew update; - brew outdated carthage || brew upgrade carthage; - carthage bootstrap --cache-builds --verbose; - fi - - if [ "$POD_LINT" == "YES" ]; then - gem install cocoapods --pre --no-document --quiet; - pod repo update; - fi - -install: - - if [ "$SWIFT_LINT" == "YES" ]; then - ./install-swiftlint.sh; - fi - -script: - - set -o pipefail; - - swift -version; - - - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - xcrun simctl list; - xcodebuild -version; - xcodebuild -showsdks; - xcodebuild -list; - fi - - - if [ "$XCODE_TEST" == "YES" ]; then - xcodebuild clean test -project "$XCODE_PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" -enableCodeCoverage $COVERAGE | xcpretty -c; - fi - - - if [ "$CARTHAGE_TEST" == "YES" ]; then - carthage build --no-skip-current --platform iOS; - fi - - - if [ "$SWIFT_LINT" == "YES" ]; then - swiftlint lint; - fi - - - if [ "$POD_LINT" == "YES" ]; then - pod lib lint; - fi - -after_success: - - if [ "$COVERAGE" == "YES" ]; then - bash <(curl -s https://codecov.io/bash) -J 'TLDExtract' -cF "$CODECOV_FLAG"; - fi diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..c60bbd7 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,2 @@ +ignore: + - "Tests" # ignore this folder and all its contents \ No newline at end of file