All Projects → codecov → swift-standard

codecov / swift-standard

Licence: other
Codecov coverage standard for Swift

Programming Languages

swift
15916 projects
python
139335 projects - #7 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to swift-standard

pyutilib
A collection of general Python utilities, including logging and file IO, subprocess management, plugin systems, and workflow management.
Stars: ✭ 28 (+133.33%)
Mutual labels:  codecov
enterprise
Code coverage done right.® On-premise enterprise version.
Stars: ✭ 63 (+425%)
Mutual labels:  codecov
smokeshow
create temporary websites
Stars: ✭ 24 (+100%)
Mutual labels:  coverage-reports
xcframework
A simple tool to create an XCFramework
Stars: ✭ 77 (+541.67%)
Mutual labels:  xcode11
CPP Template
C++ project template : CMake, Test, Travis CI, Appveyor, CodeCoverage, Doxygen
Stars: ✭ 32 (+166.67%)
Mutual labels:  codecov
SpringBootRestAPI
A ready-to-use Template for Rest API using spring-boot-microservices, MongoDB as Database, Integrated with codecov and sonarqube, deployable to cloud.
Stars: ✭ 24 (+100%)
Mutual labels:  codecov
example-objc
Codecov example for Xcode
Stars: ✭ 24 (+100%)
Mutual labels:  codecov
SSCustomSideMenu
Side Menu Custom Control for iOS apps
Stars: ✭ 50 (+316.67%)
Mutual labels:  xcode11
ViewGenerator
⚒ ViewGenerator generates view code from variable name automatically in iOS development
Stars: ✭ 75 (+525%)
Mutual labels:  xcode11
cpp14-project-template
A simple, cross-platform, and continuously integrated C++14 project template
Stars: ✭ 64 (+433.33%)
Mutual labels:  codecov
ts-node-starter
GitHub template to get started with Node.js & TypeScript. ⚡
Stars: ✭ 28 (+133.33%)
Mutual labels:  codecov
wonky
Slack made easy for orgs
Stars: ✭ 27 (+125%)
Mutual labels:  codecov
TinyRage
Flappy Bird for WatchOS 6+ written in swift 5 using spriteKit
Stars: ✭ 23 (+91.67%)
Mutual labels:  xcode11
yup-phone
☎️ Adds a phone number validation check to yup validator using google-libphonenumber
Stars: ✭ 219 (+1725%)
Mutual labels:  codecov
RRSettingsKit
A beautiful customizable settings screen created in SwiftUI
Stars: ✭ 118 (+883.33%)
Mutual labels:  xcode11
TeamCityApp
TeamCity in your pocket (Android application)
Stars: ✭ 48 (+300%)
Mutual labels:  codecov
typescript-npm-package-template
Boilerplate to kickstart creating an npm package using TypeScript
Stars: ✭ 122 (+916.67%)
Mutual labels:  codecov
StoryboardPreviewsBySwiftUI
Introduce how to make the Storyboard file and Xib file correspond to the preview function by SwiftUI.
Stars: ✭ 35 (+191.67%)
Mutual labels:  xcode11
typescript-express-passportjs
ExpressJs project uses TypeScript, PassportJS, Moongose, Continuous Integration (CircleCI.io) and Code Coverage (CodeCov.io)
Stars: ✭ 14 (+16.67%)
Mutual labels:  codecov
phpunit-travis-ci-coverage-example
phpUnit Testing on Travis-CI with Code Coverage on CodeCov
Stars: ✭ 30 (+150%)
Mutual labels:  codecov

Swift-Standard

Workflow for C++ Standard Action codecov

Last Updated: 02/28/22 00:12:39

What is this?

This is a Swift/Xcode application, with basic unit tests, for which coverage is uploaded to Codecov on a daily basis. It can also serve as an example for how to integrate Codecov into your Swift/Xcode project. If the build is passing for this project, then Codecov's Swift/Xcode report processing is functional and correct on codecov.io.

Configuration

This application is built in Xcode 11 and uses Swift 5. The UI for this application is built atop SwiftUI. This project includes both unit and ui tests, written with the XCTest framework. These tests are simulated on an iPhone Xʀ running iOS 13. Coverage reports are generated via Slather.

Unit tests: /standard-swiftTests/Test_Index.swift

UI tests: /standard-swiftUITests/Test_Index_UI.swift

Slather configuration (.slather.yml):

coverage_service: cobertura_xml
xcodeproj: ./standard-swift.xcodeproj
scheme: standard-swift
output_directory: ./

Travis configuration (.travis.yml):

install:
  - gem install slather
script:
  - xcodebuild -scheme standard-swift -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone Xʀ,OS=13.0' build test
  - slather 
  - bash <(curl -s https://codecov.io/bash) -f ./cobertura.xml

Processing Coverage Reports

By default, coverage reports are not generated for Xcode builds. To make sure your Xcode scheme generates coverage reports click on your scheme --> "Edit Scheme" --> "Test" --> check "Gather coverage." Now, coverage reports will automatically be generated for each build.

Errors Processing .xccoverage Files

Xcode generates special .xccoverage files which hold coverage information for each build. These files are not human readable and Codecov may run into errors while parsing these files. To get the relevant information out of these files after your build, it is recommended you use a tool like Slather to generate a coverage.xml file that can then be uploaded to Codecov.

Coverage Inflation

All Xcode projects include separate folders for unit tests and ui tests. In some instances, the files in these folders may arbitrarily inflate the overall coverage percentage reported by Codecov because they are automatically lumped together as a part of the coverage report. If you don't want to include these files, we recommend you use Slather as a part of your workflow to generate coverage reports as it will discard unit/ui test folders from your coverage report. Otherwise, you can choose to exclude these folders via your .codecov.yml through ignore paths.

Reporting Issues

If you've discovered an issue with this repository or with Swift processing in general, it is recommended to email [email protected] rather than post an issue here. This repository will not be checked regularly for open issues.

Contributing

Contributions are welcome! If you'd like to contribute to this repository, feel free to open a pull request or flag an issue. If you would like to contribute a new lanaguage standard, you can get more information here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].