Граф коммитов

414 Коммитов

Автор SHA1 Сообщение Дата
Manuel de la Pena 3e7464e461
[CI][VSTS] Rename path to fix API diff (#10384)
Since 'packages' is a common dir name that is ignored. Revert the change
in the .gitignore and rename the template path since it just means a one
liner change in the entry yaml file.

fixes: https://github.com/xamarin/maccore/issues/2359
2021-01-12 11:32:26 -05:00
vs-mobiletools-engineering-service2 ecf6871265
[CI][VSTS] Add trigger for xcode branches. (#10363)
fixes: https://github.com/xamarin/maccore/issues/2355

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-01-08 12:32:35 -05:00
Manuel de la Pena e2db8536f4
[CI][VSTS] Add trigger for xcode branches. (#10349)
fixes: https://github.com/xamarin/maccore/issues/2355
2021-01-07 17:30:50 -05:00
vs-mobiletools-engineering-service2 a593dc8c11
[CI][VSTS] Ensure that xharness creates an index with the correct uris. (#10351)
The prefix of the location of the logs depends on the platform where it
was executed (else we step on them) but that was not added in the env
var use by xharness.

fixes: https://github.com/xamarin/maccore/issues/2349

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-01-07 15:42:24 -05:00
vs-mobiletools-engineering-service2 1264be3ee9
[d16-9] [CI][VSTS] Add comments to PR not only to commits. (#10357)
The GitHup url to be used to create comments in PRs is diff to the one
for comments. Use the build reason AND the changeID to identify if we
are building due to a PR and use the correct url.

fixes: https://github.com/xamarin/maccore/issues/2356

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
2021-01-07 15:33:34 -05:00
vs-mobiletools-engineering-service2 89877232f1
[CI][VSTS] Add the correct mac pkg file name. (#10353)
The wrong variable was used and therefore the dir path was used instead
of the mac pkg name.

fixes: https://github.com/xamarin/maccore/issues/2353

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-01-07 12:02:30 -05:00
Manuel de la Pena 4396368851
[CI][VSTS] Add comments to PR not only to commits. (#10350)
The GitHup url to be used to create comments in PRs is diff to the one
for comments. Use the build reason AND the changeID to identify if we
are building due to a PR and use the correct url.

fixes: https://github.com/xamarin/maccore/issues/2356

Co-authored-by: Alex Soto <alex@alexsoto.me>
2021-01-07 10:57:49 -05:00
Manuel de la Pena 6de4e717e7
[CI][VSTS] Add the donet 6 pkg as a dependency. (#10348)
Ensure that the new dotnet 6 is installed so that we do build with the
support for it.

fixes: https://github.com/xamarin/maccore/issues/2354
2021-01-06 18:21:46 -05:00
Manuel de la Pena 7a06a22be4
[CI][VSTS] Add the correct mac pkg file name. (#10347)
The wrong variable was used and therefore the dir path was used instead
of the mac pkg name.

fixes: https://github.com/xamarin/maccore/issues/2353
2021-01-06 18:18:24 -05:00
Manuel de la Pena e1cfe7c500
[VSTS] Move away from Jenkins to VSTS pipelines for xamarin-macios. (#10302) (#10343)
Initial implementation of the projects CI in yaml to be uses with VSTS. The port is not complete as there are some small issues to address, the following are the known issues:

* https://github.com/xamarin/maccore/issues/2349 
* https://github.com/xamarin/maccore/issues/2350
* https://github.com/xamarin/xamarin-macios/issues/10299
* https://github.com/xamarin/xamarin-macios/issues/10298
* https://github.com/xamarin/xamarin-macios/issues/10300
* https://github.com/xamarin/maccore/issues/2351

Nevertheless the CI already compiles the project, creates the pkgs and nugets and publishes them so that we can create insertions.

Co-authored-by: Mike Bond <mjbond-msft@outlook.com>
Co-authored-by: cadsit <connor.adsit@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-01-06 16:26:21 -05:00
Manuel de la Pena 30f0010184
[CI][VSTS] Ensure that xharness creates an index with the correct uris. (#10345)
The prefix of the location of the logs depends on the platform where it
was executed (else we step on them) but that was not added in the env
var use by xharness.

fixes: https://github.com/xamarin/maccore/issues/2349
2021-01-06 15:33:57 -05:00
Manuel de la Pena 1e78a9de6a
[VSTS] Move away from Jenkins to VSTS pipelines for xamarin-macios. (#10302)
Initial implementation of the projects CI in yaml to be uses with VSTS. The port is not complete as there are some small issues to address, the following are the known issues:

* https://github.com/xamarin/maccore/issues/2349 
* https://github.com/xamarin/maccore/issues/2350
* https://github.com/xamarin/xamarin-macios/issues/10299
* https://github.com/xamarin/xamarin-macios/issues/10298
* https://github.com/xamarin/xamarin-macios/issues/10300
* https://github.com/xamarin/maccore/issues/2351

Nevertheless the CI already compiles the project, creates the pkgs and nugets and publishes them so that we can create insertions.


Co-authored-by: Mike Bond <mjbond-msft@outlook.com>
Co-authored-by: cadsit <connor.adsit@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-01-06 10:48:54 -05:00
Manuel de la Pena 896479e1bd
[VSTS] Remove all the device pipelines. (#10280)
With the migration away from Jenkins, we do not longer ping them.
2020-12-14 16:43:06 -05:00
Manuel de la Pena fdfed3f74f
[VSTS] Ensure that we have a reasonable timeout. Will unblock device tests. (#10204) 2020-12-03 18:16:27 -05:00
Manuel de la Pena b4c549f5a8
[VSTS] If we fail dumping the env, continue. (#10193) 2020-12-02 18:50:55 -05:00
Manuel de la Pena 738b237355
[VSTS] Remove the UI prompt ASAP. (#10034)
Using provisionator could result in the UI prompt being shown which will
make the pipeline hang until there is human interaction.

Move the step to be one of the first ones to ensure provisionator does
not get stuck.
2020-11-03 18:32:32 -05:00
Manuel de la Pena ffa08ac060
[VSTS] Continue even if we could not clean the HD, we might have space. (#10032) 2020-11-03 13:02:59 -05:00
Rolf Bjarne Kvinge 8bf4e0e5e6
[tests] Fix sample tests to take into account when a platform has been disabled. (#9774)
* [tests] Fix sample tests to take into account when a platform has been disabled.

* [devops] The INCLUDE_MAC/INCLUDE_IOS variables might not exist.
2020-10-06 17:33:03 +02:00
Manuel de la Pena dcb0c93ab0 [Xcode12] Bring xcode 12 changes into main. 2020-09-23 16:05:22 -04:00
Connor Adsit 746e26f6ac
Use provisionator built-ins for custom functions (#9671) 2020-09-22 14:24:02 -04:00
Manuel de la Pena eb9b690fe0 Merge xcode12 into d16-8. 2020-09-18 17:51:52 -04:00
Alex Soto 8383b14382
[xcode12] Rename master to main (#9631)
* 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'.

This is a backport of PR #9561
2020-09-15 07:09:29 -04:00
monojenkins ab3839a7d6
[DevOps] As with jenkins, remove old simulators. (#9552)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-08-31 18:00:53 -04:00
Manuel de la Pena 36ca984c12
[DevOps] As with jenkins, remove old simulators. (#9551) 2020-08-31 13:19:34 -04:00
monojenkins 4526ed6110
[d16-8] [DevOps] Set the status to pending once the checks have started. (#9448)
Once we have done all the check of the bot, set the status of the commit
to pending since the next task is going to run the tests.

This way we ensure that the pending status should be cleaned at the end
rather than be left behind.


Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-08-24 10:57:09 -04:00
Manuel de la Pena db0ac65975
[DevOps] Set the status to pending once the checks have started. (#9444)
Once we have done all the check of the bot, set the status of the commit
to pending since the next task is going to run the tests.

This way we ensure that the pending status should be cleaned at the end
rather than be left behind.
2020-08-21 10:29:11 -04:00
monojenkins 0ad3c4757c
[d16-8] [DevOps] Report the correct bot used. (#9404)
The tests are not executed in the same agent that sets the github
status, for that reason, the github comment is not giving the correct
bot name, but the name of the bot that executed the commit message and
not the tests.

Add an output var in the runTests step to set the bot name and pass it
to the comment job in a different bot.


Co-authored-by: Whitney Schmidt <whschm@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-08-19 17:46:24 -04:00
monojenkins e2fc755347
[DevOps] Just clean the xamarin-macios dir to ensure we do not delete maccore creds. (#9397)
The credentials for maccore are downloaded to a pat file (to be found).
When we call make git-clean, because we do use the -x options, all
files are deleted, including the pat file.

We move to call git clean -xdf inside xamarin-macios, which will delete
the test result files.

Once we find the exact path pattern, we can update the make git-clean to
not remove them but this commit unblocks the failing CI builds.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-08-18 17:40:40 -04:00
Manuel de la Pena c20cbfe301
[DevOps] Just clean the xamarin-macios dir to ensure we do not delete maccore creds. (#9396)
The credentials for maccore are downloaded to a pat file (to be found).
When we call make git-clean, because we do use the -x options, all
files are deleted, including the pat file.

We move to call git clean -xdf inside xamarin-macios, which will delete
the test result files.

Once we find the exact path pattern, we can update the make git-clean to
not remove them but this commit unblocks the failing CI builds.
2020-08-18 15:11:59 -04:00
Sebastien Pouliot dafef3dfea
[tools] Fix message typo in device-tests.yml (#9373) 2020-08-14 09:02:03 -04:00
Manuel de la Pena 53dcedc060
[DevOps] Add missing envi var to ensure we can set the status of the build. (#9263) 2020-08-03 16:21:52 -04:00
Manuel de la Pena ec30ba0f6b
[DevOps] Report the correct bot used. (#9250)
* [DevOps] Report the correct bot used.

The tests are not executed in the same agent that sets the github
status, for that reason, the github comment is not giving the correct
bot name, but the name of the bot that executed the commit message and
not the tests.

Add an output var in the runTests step to set the bot name and pass it
to the comment job in a different bot.

* Update tools/devops/device-tests/scripts/GitHub.psm1

Co-authored-by: Whitney Schmidt <whschm@microsoft.com>

Co-authored-by: Whitney Schmidt <whschm@microsoft.com>
2020-07-30 21:29:02 -04:00
Manuel de la Pena f2ce1b885a
[DevOps] The powershell in Windows is older, we do not support the param. (#9223) 2020-07-30 17:36:21 -04:00
Manuel de la Pena 77965e03ce
[DevOps] Both labs use the same utility pool, lets keep it in one place. (#9225) 2020-07-30 10:08:14 -04:00
Manuel de la Pena c54065c2cf
[DevOps] If test fail but pipeline builds, set the correct status. (#9161)
Depending on the pipeline run, we should have the following result:

* failed: issues with bots or provisioning (red in the UI)
* partiallySucceeded: no issues with bots but failing tests.
* succeeded: no issues with bots and all tests pass.

This adds a psh cmdlet that allows to set the result AND sets the
correct result when we have test failures.


Co-authored-by: Whitney Schmidt <whschm@microsoft.com>
2020-07-29 16:58:47 -04:00
Manuel de la Pena 820859b7ab
[DevOps] Clean all before we run the tests. (#9172) (#9182) 2020-07-28 16:35:59 -04:00
Manuel de la Pena 5d60d6d1c9
[Devops] Use the deployment pool. (#9160) 2020-07-23 15:50:19 -04:00
Manuel de la Pena 685a616de0
[DevOps] Clean all before we run the tests. (#9172) 2020-07-23 15:45:55 -04:00
Manuel de la Pena fcc410f36a
[DevOps] Add debugging messages from when we fail the ./configure (#9102)
Some bots are giving error with this step. Try to add some verbosity and
ensure that $? is 0 when done.
2020-07-15 20:13:57 -04:00
Manuel de la Pena 3fccc1e3e0
[DevOps] If we cannot clear the hd, continue. (#9101)
Few things:

1. Move from Write-Error to Write-Debug so that we do not set the exit
code and an error.
2. Ig we fail in the Clear-HD step, continue, we should be ok or cancel
if not enough space is found.
2020-07-15 20:13:34 -04:00
Manuel de la Pena f13fe4ba30
[DevOps] In a self-hosted pool we need to specify the os. (#9100) 2020-07-15 18:51:37 -04:00
Manuel de la Pena 773df34fde
[DevOps] Fix issues with the xm storage path. (#9043)
* [DevOps] Fix issues with the xm stroage path.

For some reason, and it is very probably a bug in the azurepipelines,
the following bash code creates a path with an extra single quote at the
end:

```bash
 P=jenkins/xamarin-macios/$BUILD_LANE/$BUILD_REVISION/$ID/device-tests

echo "##vso[task.setvariable variable=XM_STORAGE_PATH]$P"
```

* Should it do it? Not, it should not.
* Does it do it? Yes, it does.

We work around it via td -d \'\" and remove all single and double quotes
in the string. How long did it take to discover this? More than it
should have.

There is another interesting bug with the variable expansion, the
following
```bash
echo '##vso[task.setvariable variable=XAMARIN_STORAGE_PATH;isOutput=true]$P'
```
Does not equal
```bash
echo '##vso[task.setvariable variable=XAMARIN_STORAGE_PATH;isOutput=true]'$P
```

The first will not expand the variable, the second one will. We do need
the value of $P not '$P'.


Co-authored-by: Whitney Schmidt <51677938+whitneyschmidt@users.noreply.github.com>
2020-07-10 17:19:59 -04:00
Manuel de la Pena 9eff2f2964
[DevOps] Move back to self hosted windows pools. (#9040)
The microsoft hosted images have a limit of 10gb, or logs are getting
close to that size when expanded, therefore we will get into issues.
Move back to the self-hosted pool before we have problems.
2020-07-08 18:57:56 -04:00
Manuel de la Pena f4d165863a
[DevOps] Clean all workspaces and try to fix our space problems. (#9028) 2020-07-07 18:45:50 -04:00
Manuel de la Pena ce244b7ccd
[DevOps] Release device bots as soon as possible. (#8979)
The upload of the results takes 2 hours:

* 1 hour uploading to vsts test results.
* 1 hour uploading to vsdrops.

This means that we are blocking a device bot for an extra hours (since
the vsdrops is done in a windows bot) when it is not needed. We could
add both uploads to the vsdrops job, but since steps cannot be ran in
parallel, it means that we re waiting for 2 hours when we really do not
have to.

We create two jobs to parallelize the upload of files and we release the
device bot ASAP. That means that our device bots can be free to get new
jobs (and they are the bottle neck) while the windows bots perform the
different uploads.

To make things easier a template that downloads the artifacts was added
so that there is not much code repetition.
2020-06-30 22:19:54 -04:00
Manuel de la Pena b0bcbb2272
[DevOps] Explicitly allow empty xamarin storage paths. (#8977) 2020-06-30 13:15:54 -04:00
Manuel de la Pena 2372a6cfcd
[DevOps] Fix stupid param mistake. (#8971) 2020-06-26 18:27:43 -04:00
Manuel de la Pena 9c91a4ec3c
[DevOp] Allow $amarinStorage to be empty. (#8963)
pwsh will complain if a mandatory parameter is empty. Remove the attr
and allow it to be empty since the if statements do check fir it.
2020-06-26 16:51:21 -04:00
Manuel de la Pena 74dc21d71e
[DevOps] fix quotes. (#8959) 2020-06-26 08:02:05 -04:00
Whitney Schmidt 5580e873ca
[DevOps] Add error handling for incorrect storage path (#8958)
* add error handling for storage path

* Revert "add error handling for storage path"

This reverts commit 751e54c254.

* revert whitespace changes, only add real change

* small fixes
2020-06-25 18:10:54 -04:00
Manuel de la Pena 2daa9088cd
[DevOps] Add the agent name to find the porivioning issues faster. (#8953)
Add the name of the agent that is added by the pipeline on the comments
posted in github.
2020-06-25 09:54:07 -04:00
Manuel de la Pena bf57e81467
[DevOps] Fix broken link. (#8952) 2020-06-25 08:56:14 -04:00
Manuel de la Pena 00a8a13df8
[DevOps] Return a success even when Clear-HD has issues. (#8951)
This is a workaround since in some bot we hit issue https://github.com/PowerShell/PowerShell/issues/9246
2020-06-25 08:55:50 -04:00
Manuel de la Pena 13bd5d2d59
[DevOps] Clean summary message. (#8945) 2020-06-24 19:36:05 -04:00
Manuel de la Pena 88c9276a09
[DevOps] Using netcat over ssh to check if port is open. (#8946)
Nicer than failing on ssh and faster to check if the ssh port is open.
2020-06-24 19:35:37 -04:00
Manuel de la Pena 8c081605a0
[DevOps] Allow to use vsdrops AND xamarin storage. (#8916)
Use both in those labs that support xamarin-storage so that we have a
backup. To do so, move the parameter to be a bool but keep the rest of
the logic the same.


Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-06-24 18:01:51 -04:00
Manuel de la Pena 3cf2fc1316
[DevOps] Do not fail the tests is xamarin-storage cannot be reached. (#8912)
Try to create the folder in xamarin-storage, if that fails, rather than
stop with an error, execute the tests and st an env var.

Once the tests are complete, when adding the summaries, check if we did
fail to reach xamarin-storage and notify it.

This will make sure that tests won't fail if:

* xamarin-storage dies.
* bots are not in the vpn and could not reach xamarin-storage.
2020-06-19 20:18:35 -04:00
Manuel de la Pena 670d68c86c
[DevOps] Improve the comments added in GitHub. (#8898)
Comments were ugly. Clean a little the markdown.
2020-06-19 11:45:21 -04:00
Manuel de la Pena 78730b8ceb
[DevOps] Update contexts to be more clear. (#8896)
The contexts are the ones that link a status with a device run. Update
them so that we do know the labe used (and remove a typo where we used
TvOS).
2020-06-18 17:10:01 -04:00
Manuel de la Pena 1b6b5dec20
[Devops] Use correct variables template on ddfun tvos pipeline. (#8895) 2020-06-18 15:28:47 -04:00
Manuel de la Pena 96e14746b3
[Devops] Fix typo in beta device pipeline. (#8894) 2020-06-18 15:15:37 -04:00
Manuel de la Pena ed8a00152e
[Devops] Add support for yaml pipelines in the old device pipelines. (#8862)
This commit moves all the different pipelines we have to fully use yaml.
That includes the old ddfun pipeline that was using a mix between using
yaml and the UI interface to configure it.

The new pipelines are found under the tools/devops/device-tests
directory. All of the use a very similar structure and therefore we use
a template. The README.md inside the directory should explain most of
the logic and the devices-tests.yml contains comments for each of the
steps.

Most of the bash scripts have been moved to use pwsh which is inside the
scripts directory and contains tests. Tests can be ran via:

```bash
make -C tools/devops/device-tests/scripts run-tests
```

This commit will only affect the ddfun pipeline that will need to be
updated to use the new yml path. All the other pipelines are not
affected and they will be to be updated manually.

The pipelines support two different storages for the html report.

* xamarin-storage: Old school.
* vsdrops: New age.

Unfortunatly we yet do not know how to workaround the fact that vsdrops
does not serve the files, therefore we use the xamarin-storage in all
pipelines but those in the ddfun lab because they do not have the right
access.

This later can be easily changed editing the
tools/devops/device-tests/tempaltes/cambridge-variables.yml which will
update all the pipelines in the cambridge lab.

PS: Sorry for the size.
2020-06-18 14:15:59 -04:00
Manuel de la Pena 602fb4a675
[d16-7][Devops] Move to main rather than using a testing branch. (#8878) 2020-06-17 17:02:03 -04:00
Manuel de la Pena 1d5557c328
[DevOps] Move away from a testing branch and use main. (#8874) 2020-06-17 12:59:44 -04:00
Manuel de la Pena a20f8ddcbe
[Devtools] Do not try to install tools via brew if present.] (#8872) 2020-06-17 11:27:26 -04:00
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
Alex Soto 52509f9925
[devops] Add Policheck tool to our pipeline (#8802)
New commits in xamarin/maccore:

* xamarin/maccore@714066a4b6 Add PoliCheckExclusions.xml (#2228) (#2229)

Diff: ef861db73e..714066a4b6
2020-06-08 15:16:04 -04:00
Alex Soto 33868e4036
[devops] Add Policheck tool to our pipeline (#8800)
New commits in xamarin/maccore:

* xamarin/maccore@d2ef9d7ee0 Add PoliCheckExclusions.xml (#2228)

Diff: 4bfce64847..d2ef9d7ee0
2020-06-08 14:13:40 -04:00
monojenkins 4e539bb3d6
satisfy the type-checking gods (#8777)
Co-authored-by: cadsit <connor.adsit@gmail.com>
2020-06-05 16:06:12 +02:00
Connor Adsit 47f74578b3
satisfy the type-checking gods (#8680) 2020-05-27 08:49:37 +02:00
Alex Soto 1614d569cc
[d16-7] Merge Xcode11.5 Support and include provisionator changes (#8645)
New commits in xamarin/maccore:

* xamarin/maccore@ef861db73e [devops] Enhance Xcode renaming script (#2208)

Diff: 92a06f7303..ef861db73e
2020-05-21 14:11:27 -04:00
Alex Soto 5dc1b55dc6
[master] Merge Xcode11.5 Support and include provisionator changes (#8643)
New commits in xamarin/maccore:

* xamarin/maccore@4bfce64847 Update README.md
* xamarin/maccore@24682998f7 [devops] Enhance Xcode renaming script (#2206)
* xamarin/maccore@e03f16b862 [Localization][Mlaunch] Fix watchos timeout issue (#2196)

Diff: ad1696d6f3..4bfce64847
2020-05-21 12:16:33 -04:00
monojenkins ab8a0fcc56
[d16-7] page through github statuses for manifest URL (#8638)
* page through github statuses for manifest URL

* Check to see if the content has values (rather than being the empty string)

* Fix code style.

Co-authored-by: cadsit <connor.adsit@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-05-21 16:39:01 +02:00
Rolf Bjarne Kvinge 4bd68fd653 Fix code style. 2020-05-20 19:59:04 +02:00
cadsit c3676e77b6 Check to see if the content has values (rather than being the empty string) 2020-05-20 13:36:19 -04:00
cadsit 12e644a6d9 page through github statuses for manifest URL 2020-05-20 13:06:02 -04:00
cadsit ff3d5cbde6 quick fix provisionator directory nuking in device tests *facepalm* 2020-05-14 13:34:42 -04:00
Connor Adsit 8fc90c00e6
[Devops] Flag to disable Provisionator Cleanup (#8593) 2020-05-13 20:38:29 -04:00
Manuel de la Pena 1e78ea4d07
[Devops] Do link xcode to the expected path. (#8586) 2020-05-13 09:18:29 -04:00
Manuel de la Pena 9f380e257e
[Devops] Move to use provisionator to get xcode. (#8570)
Move to use the provisionator and add a make file to generat the script
so that we only have to bump xcode in a single place.

Move all deps to provisionator and make provisionator download and
install the xi pkg that has been built to be tested in the pipeline, we
do not longer use curl to do it.
2020-05-12 10:59:53 -04:00
Rolf Bjarne Kvinge aca2a1a257
[devops] Use a more restricted glob to find directories with sample data in. Fixes xamarin/maccore#2202. (#8465)
The previous pattern would match the output files we created from processing
these directories, and somehow the pattern would match such a file (even
though the pattern should only be executed before doing any processing, when
those files don't exist yet, so I don't know exactly why this is happening),
leading us to try to process those files as if they were directories with
sample data in, with the predictable (disastrous) result.

Fixes https://github.com/xamarin/maccore/issues/2202.
2020-04-29 17:35:23 +02:00
Rolf Bjarne Kvinge 7e18b592ca
[master] [devops] Use a more restricted glob to find directories with sample data in. Fixes xamarin/maccore#2202. (#8466)
The previous pattern would match the output files we created from processing
these directories, and somehow the pattern would match such a file (even
though the pattern should only be executed before doing any processing, when
those files don't exist yet, so I don't know exactly why this is happening),
leading us to try to process those files as if they were directories with
sample data in, with the predictable (disastrous) result.

Fixes https://github.com/xamarin/maccore/issues/2202.
2020-04-29 17:34:31 +02:00
Manuel de la Pena 40761ccb36
[Devops] If we fail to provision dependencies skip certain tasks. (#8423)
xamarin-storage can not be reachable or a network issue might happen
when we try to provision the dependencies. In that case, skip those
tasks that are skipped when we cannot provision the certs.

The provisioning dependencies will only execute in the provisioning
profiles was successful, therefore, the if statement is not stepping in
any value that was set by the profiles step.
2020-04-23 10:10:34 -04:00
Manuel de la Pena 337f3efac4
[Devops] Add timeouts to the steps. (#8436)
Add timeouts to the steps to catch possible issues when a step takes
longer than expected. Numbers have been taken from common runs and
rounded up a little to have some buffer.
2020-04-20 19:06:02 -04:00
Alex Soto 5aa2b1c34f
Update azure-pipelines.yml 2020-04-02 22:20:01 -04:00
Vincent Dondain dd9b320704
[devops] Fix provision-xcode unhandled exception (#8253)
In cases where a `Make.config` doesn't exist, there's an unhandled exception and the user friendly one cannot be reached.

Arguably, an edge case not applicable to xamarin-macios I discovered when using that code in an other context (where obviously I don't have a Make.config :P). Still this is making the code more robust (;
2020-04-01 10:30:02 -04:00
Alex Soto 3ff3e07ebe Merge remote-tracking branch 'xamarin/d16-5-xcode11.4' 2020-03-26 19:59:14 -04:00
Alex Soto 1502646a73 [d16-5-xcode11.4] Sample tester needs Catalina pool 2020-03-18 13:07:08 -04:00
Rolf Bjarne Kvinge 51b6b707e4
[devops] Fix provisioning device testing bots. (#8060)
It seems we only want to provision a few specific things, so modify the
selection logic to first ignore everything, then enable what we want.

This way we don't have to add new ignore flags here every time we add
something new to the provisioning script.

We also don't need to check if 7z and python3 provisioning is possible, since
we already know that (by manually checking the system-dependencies.sh script
for the current hash).
2020-03-06 21:17:22 +01:00
Manuel de la Pena 147c363c07
[VSTS] update labels used in the pipeline. (#7996) 2020-02-27 13:12:55 -05:00
Manuel de la Pena 0de70e3dde
[VSTS] Correct order of params for make. (#7927) 2020-02-18 09:15:18 -05:00
Manuel de la Pena e21e50fe73
[VSTS] Clean always, no matter what. (#7926)
Good citizens clean after themselves, even when they are cancelled. Up
to this point if the task was cancelled we would not clean after us.
2020-02-18 09:14:48 -05:00
Manuel de la Pena 4937a5d626
[VSTS] Update pipeline yml to use the correct results pattern. (#7922) 2020-02-17 17:12:07 -05:00
Manuel de la Pena 09cf9a92dc
[VSTS] Propagate debug to the make rules (#7917)
If the pipeline is set on debug, to be able to see any issues, propagate
that to the make calls so that we can also get the information there,
else debugging issues with the pipelines + make is really hard.
2020-02-17 16:08:56 -05:00
Manuel de la Pena 59faa728cd
[VSTS] If we could not checkout, do not try to call scripts that are missing. (#7919)
Some of the bots fail to do the checkout (miss configuration). The clean
up step is always executed and assumes the pressence of a script, which
will fail since the script is not there.

The script is small, there is no need to add the rm in an extra file
that needs to be checkout.

This removes an extra warning that is set in the pipeline which is noise
when monitoring.
2020-02-17 15:26:38 -05:00
Manuel de la Pena e8e826e6a3
[VSTS] Ensure that certain tasks do not run when not needed. (#7916)
If the bot could no get the provisioning profiles installed, there is no
reason for certain tasks to run since they are all going to fail. This
adds A LOT of noise in the pipeline for the monitoring person to check
when there is no reason.
2020-02-17 13:12:44 -05:00
Manuel de la Pena dc63adf39f
[VSTS] Remove the some hardcoded vars. (#7883)
Move to use a template for the DDFun pipeline. Copy the current pipeline
to a template, set some parameters and recreate the pipeline importing
the template.
2020-02-13 13:02:44 -05:00
Manuel de la Pena 54217496ac
[VSTS] Update ddfun pipeline to upload xml results. (#7796)
Add two new steps that will ensure that the xml is uploaded to vsts.
2020-02-04 18:51:45 -05:00
Rolf Bjarne Kvinge 1d0dd15bd4 [sample-tester] Collect app size and build duration statistics. (#7602)
* [sample-tester] Collect app size and build duration statistics.

* Always publish performance data.

* [mmp] Add support for MMP_ENV_OPTIONS to mirror mtouch's MTOUCH_ENV_OPTIONS.

* [sample-tester] Make mmp/mtouch show timing information, and get the diagnostic msbuild log.

* Collect task and target info.

* Add more perf data and a baseline test.

* Redo the base test a bit.

* More tweaks.

* More tweaks.

* Huh?

* Debug stuff.

* diagnostics.

* Better diagnostics.

* cleanup

* tmp

* Use a separate stage to push data.

* Next attempt.

* Unique artifact names.

* Make the right name unique.

* More progress

* Improvements

* Don't need new maccore.

* cleanup

* Remove debug spew.

* Realign stuff.

* duh

* More path fixes.

* zippity zip.

* Show publishing errors.

* dependencies

* Not fake results anymore.

* Tweaks

* Merge xml files

* [sampletester] Bump nuget timeout to 5 minutes.

The TodoREST.iOS test seems to use a lot of packages, and it can apparently
take a while to restore them, so give a few more minutes.

* Improvements.

* Fix glob.

* [sampletester] Fix fetching of sample repository and hash.

* [sampletester] Centralize verbosity for mtouch and mmp.
2020-02-03 15:57:25 -05:00
Vincent Dondain d84a4f23ff
[DevOps] Add cleanup step to device-tests.yml (#7696)
This was recommended by QA / DDFun because they were running into issues re-installing VSMac on the machines we ran the pipeline on.
2020-01-13 15:49:57 -05:00
Vincent Dondain a1e695b272 [DevOps] Don't be too fancy with multiple jobs for device tests pipeline
Inspiration was taken from other yaml pipelines but those multiple jobs are not behaving the way I expected.

1. Each job will clone `xamarin-macios` in a dedicated folder (for 3 jobs you'll have `./1/s`; `./2/s`; `./3/s`)
2. The goal of the last job was to upload the `TestSummary.md` but because of the cloning strategy it couldn't find it. There might be ways to pass files (artifacts?) between jobs but there's no need to be that fancy right now.
3. Cloning takes time so I'm assuming having everything in one job can actually save us some time.
2019-12-26 09:13:41 -05:00
Vincent Dondain 5f89458a49 [DevOps] Fix DDFun pipeline GitHub comment report
- We had `./jenkins/vsts-device-tests-set-status.sh: line 88: HTML_REPORT: unbound variable` in the `Report results to GitHub as comment / status` step. Now that the HTML_REPORT is set this shouldn't happen anymore.
- The `Add summaries` task is reporting errors but it's working regardless. I believe this might be due to -x being set instead of the original +x (I changed that by mistake).
2019-12-26 09:13:41 -05:00
Vincent Dondain f1b92747c7
[DevOps] Convert our device tests into a pool agnostic yaml pipeline (#7604)
- Needed for the DDFun migration of our tests
- Don't use SSH because it's restricted on the new bots
- Use brand new DevOps feature to clone multiple repos via HTTPS
- Update names of all tasks (clearer)
- Simplify and re-use code
- Update all paths because our cloning strategy is different compared to old pipeline
- Update xharness to print "experimental" titles in GitHub comments
- Update xharness to not add the Html link for tests from the DDFun pipeline
- Fix all timeouts to be relevant to the tests length
- Split in multiple jobs (for GitHub status)
- Move longer scripts to independant files
- Make inline bash prettier
- Use a variable for the pool name
- Fix single space alignment
- Remove unused variable in `vsts-device-tests-set-status.sh` that broke it
- Bump maccore to use the right certificates and profiles
- Bump maccore to target the right pipeline
- Bump maccore to not use ssh in scripts
- Bump maccore and use persistCredentials

Notes:
- Right now the xharness test output can only be seen when downloading the zip file locally (better output soon)
2019-12-23 14:34:41 -05:00
Rolf Bjarne Kvinge 0ec82e7cca
[sample-tester] Collect app size and build duration statistics. (#7602)
* [sample-tester] Collect app size and build duration statistics.

* Always publish performance data.

* [mmp] Add support for MMP_ENV_OPTIONS to mirror mtouch's MTOUCH_ENV_OPTIONS.

* [sample-tester] Make mmp/mtouch show timing information, and get the diagnostic msbuild log.

* Collect task and target info.

* Add more perf data and a baseline test.

* Redo the base test a bit.

* More tweaks.

* More tweaks.

* Huh?

* Debug stuff.

* diagnostics.

* Better diagnostics.

* cleanup

* tmp

* Use a separate stage to push data.

* Next attempt.

* Unique artifact names.

* Make the right name unique.

* More progress

* Improvements

* Don't need new maccore.

* cleanup

* Remove debug spew.

* Realign stuff.

* duh

* More path fixes.

* zippity zip.

* Show publishing errors.

* dependencies

* Not fake results anymore.

* Tweaks

* Merge xml files

* [sampletester] Bump nuget timeout to 5 minutes.

The TodoREST.iOS test seems to use a lot of packages, and it can apparently
take a while to restore them, so give a few more minutes.

* Improvements.

* Fix glob.

* [sampletester] Fix fetching of sample repository and hash.

* [sampletester] Centralize verbosity for mtouch and mmp.
2019-12-20 16:27:36 +01:00
Rolf Bjarne Kvinge 303aa0a649 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
monojenkins 1682210613 [master] [tests] Don't use unsupported characters in matrix names for yml scripts. Fixes xamarin/maccore#1831. (#6571)
* [tests] Don't use unsupported characters in matrix names for yml scripts. Fixes xamarin/maccore#1831.

Matrix names must be alphanumeric (+underscore), and recently Azure DevOps
stopped working correctly if that wasn't the case (unfortunately without a
good error message though, so it took a while to figure it out).

Fixes https://github.com/xamarin/maccore/issues/1831.

* [jenkins] Fix lookup of environment variables from matrix jobs.
2019-07-12 05:30:57 -07:00
Rolf Bjarne Kvinge 97bd041abc
[tests] Don't use unsupported characters in matrix names for yml scripts. Fixes xamarin/maccore#1831. (#6531)
* [tests] Don't use unsupported characters in matrix names for yml scripts. Fixes xamarin/maccore#1831.

Matrix names must be alphanumeric (+underscore), and recently Azure DevOps
stopped working correctly if that wasn't the case (unfortunately without a
good error message though, so it took a while to figure it out).

Fixes https://github.com/xamarin/maccore/issues/1831.

* [jenkins] Fix lookup of environment variables from matrix jobs.
2019-07-12 01:40:57 -07:00
Rolf Bjarne Kvinge 8eb23eed0f
[xcode11][tests] Provision dotnet for the sample tests. Fixes xamarin/maccore#1811. (#6473) (#6488)
* [sampletester] Use dotnet v2.2.1XX if available. (#6185)

Works around https://github.com/NuGet/Home/issues/7956.

* [tests] Provision dotnet for the sample tests. Fixes xamarin/maccore#1811. (#6473)

Also synchronize configuration file creation to not run into threading issues.

Fixes https://github.com/xamarin/maccore/issues/1811.
2019-07-11 01:49:42 -07:00
Rolf Bjarne Kvinge f80e6b4032
[sampletester] Provision Xcode when it's not already available. Fixes #6326. (#6498)
Add a separate provisioning script to install Xcode if it's not already installed on the bot.

For some unknown reason it needs to be a separate script, otherwise the provisionator will complain it doesn't know the required GitHub token to download Xcode.

Fixes https://github.com/xamarin/xamarin-macios/issues/6326.
2019-07-09 06:45:20 -07:00
Rolf Bjarne Kvinge 50f74bd916
[tests] Provision dotnet for the sample tests. Fixes xamarin/maccore#1811. (#6473)
Also synchronize configuration file creation to not run into threading issues.

Fixes https://github.com/xamarin/maccore/issues/1811.
2019-07-03 12:41:33 +02:00
Alexander Köplinger 8a8427fb7b Fixup azure-pipelines.yml 2019-05-24 20:36:53 +02:00
Alexander Köplinger c842df75cd Provision 7z 2019-05-22 01:15:29 +02:00
Rolf Bjarne Kvinge bd457212d5
[tests] Add sample tester. (#5870)
* [tests] Add sample tester.

Add a unit project that looks for iOS/macOS/tvOS sample projects in several
repositories, and builds them all.

* [tests][sampletester] Remove known issue which has now been fixed.

* [tests] Only run sample tests on CI in Azure Devops.

* Remove the possibility of automatically running the sample tests with
  xharness (so the sample tests won't run on PR bots or internal bots when the
  'run-all-tests' label is added). It's still possible to run the sample tests
  manually from the xharness web UI.

* Automatically trigger the sample test run in Azure Devops if the
  'run-sample-tests' label is applied to a PR (and that PR is executed on
  internal Jenkins).

* Fix typo.

* Fix path.

* Verbose output to track down scheduling failure.

* Bump maccore to get improved debug spew.

Diff: f527c9c526..f89d74b165

* [tests][sampletester] Fix build for TodoWCF.
2019-04-25 17:18:43 +02:00
Alex Soto 6e2eddd328
[devops] Add azure devops build support (#5873) 2019-04-09 05:35:08 -04:00