xamarin-macios/jenkins
Rolf Bjarne Kvinge 95e42b9266
Rename master to main. (#8851)
* Fix links that point to master to point to main instead.
* Implement support in the sample tester for specifying the default branch for
  each sample repo.
* Fix various text / documentation to say 'main' instead of 'master.'
* Push to 'main' instead of 'master' in xamarin-macios-data.
* Fix xharness to make 'main' the special branch with regards to documentation tests as opposed to 'master'.
* Fix various CI to use 'main' instead of 'master'.
* Bump maccore

    New commits in xamarin/maccore:

    * xamarin/maccore@ed6d146822 Rename 'master' to 'main'. (#2233)

    Diff: 424fa26148..ed6d146822
2020-06-16 15:51:44 +02:00
..
.gitignore Fix generator diff after .NET modifications. (#8180) 2020-03-24 15:52:03 +01:00
Jenkinsfile [jenkins] Don't try to upload any packaged Xamarin.Mac tests if there aren't any or they failed to compile. (#8678) 2020-05-27 08:33:46 +02:00
Makefile [jenkins] Fix assumption in build-nugets.sh. (#8693) 2020-05-27 17:16:54 +02:00
README.md Fix typos. 2018-07-04 20:57:42 +02:00
add-commit-comment.sh Limit GitHub comments to 32768 characters. (#8084) 2020-03-11 19:56:50 +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-nugets.sh [jenkins] Fix assumption in build-nugets.sh. (#8693) 2020-05-27 17:16:54 +02:00
build-package.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
build.sh [system-dependencies] Add support for provisioning .NET 5 separately. (#8578) 2020-05-13 08:31:40 +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
custom-labels.txt Rename master to main. (#8851) 2020-06-16 15:51:44 +02:00
fetch-pr-labels.sh [jenkins] Add support for specifying custom labels using a file. (#8549) 2020-05-08 15:44:41 +02:00
prepare-packaged-macos-tests.sh [jenkins] Fix provisioning old macOS bots. (#8056) 2020-03-06 15:53:48 +01:00
productsign.sh [Jenkins] Do not notarize on PRs. (#7836) 2020-02-10 19:25:44 -05:00
provision-deps.sh [system-dependencies] Add support for provisioning .NET 5 separately. (#8578) 2020-05-13 08:31:40 +02:00
publish-results.sh Add support for building on Jenkins. (#4159) 2018-06-12 14:37:03 +02:00
publish-to-nuget.sh Create and publish .NET NuGet packages. (#8576) 2020-05-13 15:23:29 +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 [VSTS] Remove the some hardcoded vars. (#7883) 2020-02-13 13:02:44 -05: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.