xamarin-macios/jenkins
Rolf Bjarne Kvinge 3684204f5a
Improve generator diff to ignore changes we don't care about. (#4947)
This means we'll get an empty diff if there are no generator changes, so
update the logic that detects/reports empty generator diffs.

Also there's no need to ignore mdbs anymore, since we don't create mdbs.
2018-10-09 07:35:00 +02:00
..
.gitignore [jenkins] Make it possible to skip API comparison by applying a label to a pull request. (#3994) 2018-06-12 14:37:03 +02:00
Jenkinsfile Report updateinfo for xamarin.ios and xamarin.mac in artifacts.json (#4871) 2018-10-03 08:25:46 +02:00
Makefile [jenkins] Fix scripts to be shellcheck-happy. (#4148) 2018-06-12 14:37:03 +02:00
README.md Fix typos. 2018-07-04 20:57:42 +02:00
build-api-diff.sh [jenkins] Add support for completely skipping the public jenkins job using a label. (#4333) 2018-06-26 15:50:54 +02:00
build-package.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
build.sh [builds] Adjust ifdefs to fix not building device architectures. Fixes maccore#1074. (#4903) 2018-10-03 08:18:11 +02:00
compare.sh Improve generator diff to ignore changes we don't care about. (#4947) 2018-10-09 07:35:00 +02:00
fetch-pr-labels.sh [jenkins] Fix scripts to be shellcheck-happy. (#4148) 2018-06-12 14:37:03 +02:00
prepare-packaged-macos-tests.sh [jenkins] Run more tests on additional macOS versions (introspection, linksdk, linkall and xammac_tests). 2018-07-03 16:53:29 +02:00
productsign.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
provision-deps.sh [jenkins] Add support for completely skipping the public jenkins job using a label. (#4333) 2018-06-26 15:50:54 +02:00
publish-results.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
run-tests.sh Merge branch 'xcode10' 2018-09-18 14:12:39 -04:00
utils.groovy Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00

README.md

Jenkins

This directory contains all the scripts to be executed as steps in the jenkins build bots for each of the PR in the project. The expected order in which they have to be executed is as follows:

  • provision-deps.sh : Downloads and installs the project dependencies.
  • build.sh : Builds the project.
  • run-tests.sh : Runs the tests.
  • build-api-diff.sh : Builds the API diff.

Jenkinsfile

This file contains the logic to run on our internal Jenkins, available here: http://xamarin-jenkins/blue/organizations/jenkins/macios/activity

The Jenkins job is a multi-branch pipeline job, it will execute in the following conditions:

  • For all branches in the xamarin org (not forks) that has a jenkins/Jenkinsfile file.
  • For all pull requests from people with write access (also conditional on having a jenkins/Jenkinsfile file).

In very broad strokes, the Jenkins job will:

  • Checkout xamarin-macios

  • Build

  • Create packages, upload them to Azure and publish the links to the packages as GitHub statuses.

  • Run our test suite.

  • Run selected Xamarin.Mac tests on all macOS versions we support. This is done in parallel with the normal test run.

    If a particular macOS version must be excluded temporarily from testing, search Jenkinsfile for excludedOSes and follow the instructions you'll find.