xamarin-macios/jenkins
Connor Adsit c384add291 Jenkinsfile notarization (#6869)
* Add in notarization script for xamarin.mac/xamarin.iOS

* Flatten the list to get rid of the braces

* Add in keychain password

* Add login.keychain back in to access codesigning certificates

* Always sign pkgs, upload notarized copies

* Enable ios notarization and make notarized pkgs public

* Make notarization non-fatal

* Publish GH statuses for notarized PKGs

* Don't forget to declare URI variables for notarized pkgs

* report proper package links

* [jenkins] Improve package reporting.
2019-09-02 03:35:14 -07: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 Jenkinsfile notarization (#6869) 2019-09-02 03:35:14 -07: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
add-commit-comment.sh [CI] Add scripts to set github status from Azure DevOps. (#5246) 2018-12-11 09:00:35 +01:00
add-commit-status.sh [CI] Add scripts to set github status from Azure DevOps. (#5246) 2018-12-11 09:00:35 +01: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 Build mono from source by default in all scenarios, not just CI. (#6363) 2019-06-20 07:44:34 +02:00
compare.sh [jenkins] Try to give better information when api comparison / generator diff fails. (#5477) 2019-01-25 17:33:58 +01: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 Bump maccore for a provisioning fix. (#5783) 2019-03-20 17:22:00 +01:00
productsign.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
provision-deps.sh [jenkins] Remove any system versions of XI/XM to make absolutely sure nothing in our build requires them. (#5059) 2018-10-31 17:47:28 -04:00
publish-results.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
run-tests.sh [jenkins] Print out the environment for debug purposes. (#5261) 2018-12-12 15:01:03 +01:00
utils.groovy [jenkins] Specify repo manually for GitHub statuses to fix maccore#898. (#5269) 2018-12-13 16:38:08 +01:00
vsts-device-tests-set-status.sh [Jenkins] When running tests on VSTS do specify a device type. (#5817) 2019-03-29 13:28:08 +01: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.