Skip to content

Commit

Permalink
Merge branch 'main' into net6-templates
Browse files Browse the repository at this point in the history
  • Loading branch information
rolfbjarne authored Jun 10, 2022
2 parents cec9f00 + e974999 commit 4977994
Show file tree
Hide file tree
Showing 4 changed files with 240 additions and 15 deletions.
8 changes: 4 additions & 4 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ include $(TOP)/Make.versions

APIDIFF_REFERENCES_iOS=https://bosstoragemirror.blob.core.windows.net/wrench/d17-2/568bdb24e9d53ac9b8c96512b1591165031a7f98/6003154/package/bundle.zip
APIDIFF_REFERENCES_Mac=https://bosstoragemirror.blob.core.windows.net/wrench/d17-2/568bdb24e9d53ac9b8c96512b1591165031a7f98/6003154/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_iOS=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/3f73ae00b1c49501673f56bcf6359f4eafc14bd2/6103038/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_tvOS=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/3f73ae00b1c49501673f56bcf6359f4eafc14bd2/6103038/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_macOS=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/3f73ae00b1c49501673f56bcf6359f4eafc14bd2/6103038/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_MacCatalyst=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/3f73ae00b1c49501673f56bcf6359f4eafc14bd2/6103038/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_iOS=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/ce10c913a2921673b0caedcd268778b46d52c392/6131168/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_tvOS=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/ce10c913a2921673b0caedcd268778b46d52c392/6131168/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_macOS=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/ce10c913a2921673b0caedcd268778b46d52c392/6131168/package/bundle.zip
APIDIFF_REFERENCES_DOTNET_MacCatalyst=https://bosstoragemirror.blob.core.windows.net/wrench/6.0.3xx/ce10c913a2921673b0caedcd268778b46d52c392/6131168/package/bundle.zip

PACKAGE_HEAD_REV=$(shell git rev-parse HEAD)

Expand Down
2 changes: 2 additions & 0 deletions tests/monotouch-test/HomeKit/HMCharacteristicTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ public class HMCharacteristicTest
[Test]
public void WriteValueNullTest ()
{
#if __MACCATALYST__
TestRuntime.AssertSystemVersion (ApplePlatform.MacCatalyst, 14,0);
#endif
var characteristic = new HMCharacteristic ();
Assert.Throws<ArgumentNullException> (delegate { characteristic.WriteValue (null, null); }, $"WriteValue should accept a null argument for 'value'.");
}
Expand Down
234 changes: 234 additions & 0 deletions tools/devops/automation/build-cronjob.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
# YAML pipeline build definition
# https://devdiv.visualstudio.com/DevDiv/_apps/hub/ms.vss-ciworkflow.build-ci-hub?_a=edit-build-definition&id=13947&view=Tab_Tasks
#
# YAML build pipeline based on the Jenkins multi-stage (main branch) build workflow
# https://jenkins.internalx.com/view/Xamarin.MaciOS/job/macios/job/main/
# https://jenkins.internalx.com/view/Xamarin.MaciOS/job/macios/configure
#
parameters:

- name: provisionatorChannel
displayName: Provisionator channel to use
type: string
default: 'latest'

- name: pool
type: string
displayName: Bot pool to use
default: automatic
values:
- pr
- ci
- automatic

- name: runTests
displayName: Run Simulator Tests
type: boolean
default: true

- name: runDeviceTests
displayName: Run Device Tests
type: boolean
default: false

- name: runOldMacOSTests
displayName: Run Tests on older macOS versions
type: boolean
default: true

- name: runWindowsIntegration
displayName: Run Windows integration tests
type: boolean
default: true

- name: runGovernanceTests
displayName: Run Governance Checks
type: boolean
default: true

- name: runSamples
displayName: Run Samples
type: boolean
default: false

- name: enableDotnet
displayName: Build Dotnet
type: boolean
default: true

- name: enableAPIDiff
displayName: Enable API diff generation
type: boolean
default: true

- name: forceInsertion
displayName: Force Insertion
type: boolean
default: false

- name: skipESRP
displayName: Skip ESRP
type: boolean
default: false # only to be used when testing the CI and we do not need a signed pkg

# We are doing some black magic. We have several templates that
# are executed with different parameters.
#
# The problem with that is that templates cannot be used with the
# matrix strategy, so we are doing a little trick based on the following:
#
# 1. We can create a template that expands.
# 2. We can use the each keyword, which allow a loop
# 3. yaml is a super set of json, therefore, it was json dictionaries
#
# the following parameters, define an array of dictionaries with the
# data required by the templates. Do you want a new stage with
# device tests, no more copy paste, just add the new config.
#
- name: simTestsConfigurations
displayName: Simulator test configurations to run
type: object
default: [
{
testPrefix: 'simulator',
stageName: 'simulator',
displayName: 'Simulator Tests',
useXamarinStorage: False,
testsLabels: '--label=run-all-tests,skip-device-tests', # TODO same as calling jenkins, we need to use diff one in ci an
statusContext: 'VSTS: simulator tests iOS',
makeTarget: 'jenkins',
}
]

- name: deviceTestsConfigurations
displayName: Device test configurations to run
type: object
default: [
{
testPrefix: 'iOS64',
stageName: 'ios64b_device',
displayName: 'iOS64 Device Tests',
testPool: 'VSEng-Xamarin-Mac-Devices',
useXamarinStorage: False,
testsLabels: '--label=run-ios-64-tests,run-non-monotouch-tests,run-monotouch-tests,run-mscorlib-tests',
statusContext: 'VSTS: device tests iOS',
makeTarget: 'vsts-device-tests',
extraBotDemands: [
'ios',
]
},
{
testPrefix: 'tvos',
stageName: 'tvos_device',
displayName: 'tvOS Device Tests',
testPool: 'VSEng-Xamarin-Mac-Devices',
useXamarinStorage: False,
testsLabels: '--label=run-tvos-tests,run-non-monotouch-tests,run-monotouch-tests,run-mscorlib-tests',
statusContext: 'VSTS: device tests tvOS',
makeTarget: 'vsts-device-tests',
extraBotDemands: [
'tvos',
]
}]

- name: macTestsConfigurations
displayName: macOS test configurations to run
type: object
default: [
{
stageName: 'mac_10_15',
displayName: 'Mac Catalina (10.15)',
macPool: 'macOS-10.15',
useImage: true,
statusContext: 'Mac Catalina (10.15)',
demands: [
"Agent.OS -equals Darwin",
"Agent.OSVersion -equals '10.15'"
]
},
{
stageName: 'mac_11_5_m1',
displayName: 'M1 - Mac Big Sur (11.5)',
macPool: 'VSEng-VSMac-Xamarin-Shared',
useImage: false,
statusContext: 'M1 - Mac Big Sur (11.5)',
demands: [
"Agent.OS -equals Darwin",
"macOS.Name -equals BigSur",
"macOS.Architecture -equals arm64",
"Agent.HasDevices -equals False",
"Agent.IsPaired -equals False"
]
}]

resources:
repositories:
- repository: self
checkoutOptions:
submodules: true

- repository: templates
type: github
name: xamarin/yaml-templates
ref: refs/heads/main
endpoint: xamarin

- repository: sdk-insertions
type: github
name: xamarin/sdk-insertions
ref: refs/heads/main
endpoint: xamarin

- repository: maccore
type: github
name: xamarin/maccore
ref: refs/heads/main
endpoint: xamarin

- repository: release-scripts
type: github
name: xamarin/release-scripts
ref: refs/heads/only_codesign
endpoint: xamarin

variables:
- ${{ if contains(variables['Build.DefinitionName'], 'private') }}:
- template: templates/vsts-variables.yml
- template: templates/variables.yml
- name: MicrobuildConnector
value: 'MicroBuild Signing Task (DevDiv)'

trigger: none

schedules:

# the translations team wants a green build, we can do that on sundays even if
# the code did not change and without the device tests.
- cron: "0 12 * * 0"
displayName: Weekly Translations build (Sunday @ noon)
branches:
include:
- main
always: true

stages:
- template: templates/main-stage.yml
parameters:
provisionatorChannel: ${{ parameters.provisionatorChannel }}
pool: ${{ parameters.pool }}
runTests: ${{ parameters.runTests }}
runDeviceTests: ${{ parameters.runDeviceTests }}
runOldMacOSTests: ${{ parameters.runOldMacOSTests }}
runWindowsIntegration: ${{ parameters.runWindowsIntegration }}
runGovernanceTests: ${{ parameters.runGovernanceTests }}
runSamples: ${{ parameters.runSamples }}
enableDotnet: ${{ parameters.enableDotnet }}
enableAPIDiff: ${{ parameters.enableAPIDiff }}
forceInsertion: ${{ parameters.forceInsertion }}
skipESRP: ${{ parameters.skipESRP }}
simTestsConfigurations: ${{ parameters.simTestsConfigurations }}
deviceTestsConfigurations: ${{ parameters.deviceTestsConfigurations }}
macTestsConfigurations: ${{ parameters.macTestsConfigurations }}
signingSetupSteps:
- template: ./templates/sign-and-notarized/setup.yml

11 changes: 0 additions & 11 deletions tools/devops/automation/build-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -218,17 +218,6 @@ trigger:
- tools/mtouch/README.md
- msbuild/Xamarin.Localization.MSBuild/README.md

schedules:

# the translations team wants a green build, we can do that on sundays even if
# the code did not change and without the device tests.
- cron: "0 12 * * 0"
displayName: Weekly Translations build (Sunday @ noon)
branches:
include:
- main
always: true

stages:
- template: templates/main-stage.yml
parameters:
Expand Down

4 comments on commit 4977994

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💻 [CI Build] Tests on macOS Mac Catalina (10.15) passed 💻

All tests on macOS Mac Catalina (10.15) passed.

Pipeline on Agent
Hash: 4977994d5dfe9fb3b60a59163318bd3daeae3a38 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💻 [CI Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻

All tests on macOS M1 - Mac Big Sur (11.5) passed.

Pipeline on Agent
Hash: 4977994d5dfe9fb3b60a59163318bd3daeae3a38 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📚 [CI Build] Artifacts 📚

Packages generated

View packages

Pipeline on Agent XAMMINI-053.Monterey
Hash: 4977994d5dfe9fb3b60a59163318bd3daeae3a38 [CI build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ [CI Build] Tests failed on VSTS: simulator tests iOS ❌

Tests failed on VSTS: simulator tests iOS.

Test results

21 tests failed, 213 tests passed.

Failed tests

  • introspection/Mac Modern/Debug: Failed (Test run failed.
    Tests run: 37 Passed: 35 Inconclusive: 0 Failed: 2 Ignored: 0)
  • fsharp/watchOS 32-bits - simulator/Debug: Crashed
  • mono-native-compat/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemCoreTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemXmlTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemSecurityTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono MonoRuntimeTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemDataTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemNetHttpTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono SystemServiceModelTests/watchOS 32-bits - simulator/Debug: Crashed
  • [NUnit] Mono CorlibTests/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemSecurityXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemLinqXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemNumericsXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono MicrosoftCSharpXunit/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemNetHttpUnitTestsXunit/watchOS 32-bits - simulator/Debug: Crashed
  • mscorlib Part 1/watchOS 32-bits - simulator/Debug: Crashed
  • mscorlib Part 2/watchOS 32-bits - simulator/Debug: Crashed
  • mscorlib Part 3/watchOS 32-bits - simulator/Debug: Crashed
  • [xUnit] Mono SystemCoreXunit Part 2/watchOS 32-bits - simulator/Debug: Crashed

Pipeline on Agent XAMBOT-1106.Monterey'
Merge branch 'main' into net6-templates

Please sign in to comment.