Skip to content

Sample app demonstrating creating automated builds for Xamarin.iOS/Android apps

License

Notifications You must be signed in to change notification settings

gshackles/xamarin-ci-sample

Repository files navigation

Xamarin CI Sample

This is a sample of how to set up automated builds for Xamarin.iOS and Xamarin.Android apps, including running UI tests locally and in TestCloud, and packaging the apps for distribution. The build system used here is FAKE.

The TipCalc sample app used here was borrowed with love from Xamarin's samples. Minor updates were made for testability, but that's it.

The TeamCityExport.zip file contains an export of an example TeamCity configuration using this setup.

Building

To run a build, from the command line do:

./build.sh {target}

These are the targets available:

  1. core-build
  • Builds the shared cross-platform TipCalc project
  1. core-tests
  • Runs unit tests for the shared TipCalc project and publishes the results to TeamCity
  1. ios-build
  • Builds the iOS app
  1. ios-adhoc
  • Builds the iOS app for ad-hoc distribution and publishes the IPA file to TeamCity as an artifact
  1. ios-appstore
  • Builds the iOS app for app store distribution and publishes the zip file to TeamCity as an artifact
  1. ios-uitests
  • Runs automated UI tests for the iOS app in a simulator and publishes the results to TeamCity
  1. ios-testcloud
  • Runs automated UI tests for the iOS app in TestCloud and publishes the results to TeamCity
  1. android-build
  • Builds the Android app
  1. android-package
  • Builds the Android app for distribution and publishes the APK file to TeamCity as an artifact
  1. android-uitests
  • Runs automated UI tests for the Android app in a simulator and publishes the results to TeamCity
  1. android-testcloud
  • Runs automated UI tests for the Android app in TestCloud and publishes the results to TeamCity

About

Sample app demonstrating creating automated builds for Xamarin.iOS/Android apps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published