Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update codebase to dotnet 3.1 #2896

Closed
wants to merge 121 commits into from
Closed
Show file tree
Hide file tree
Changes from 118 commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
bdaba65
squash build / ci / checkin migrations
and-rewsmith Apr 28, 2020
6366d0f
refactor images release yaml
and-rewsmith Apr 28, 2020
14d69b9
refactor images release yaml
and-rewsmith Apr 28, 2020
327ecf9
fix build images release yaml
and-rewsmith Apr 29, 2020
c6493b1
fix yaml
and-rewsmith Apr 29, 2020
9b05e34
replace adapter pattern
and-rewsmith Apr 29, 2020
24d862b
Merge branch 'master' of github.com:Azure/iotedge into andsmi/dotnet-3.1
and-rewsmith Apr 29, 2020
260b654
fix twin controller tests
and-rewsmith Apr 29, 2020
431390a
temproarily disable diagnostics
and-rewsmith Apr 29, 2020
e0308cc
remove IStartup
and-rewsmith Apr 29, 2020
fb74925
refactor hosting startup
and-rewsmith Apr 30, 2020
6fd3a79
refactor base images to accomodate network controller
and-rewsmith Apr 30, 2020
af54b46
use fixed args for startup
and-rewsmith Apr 30, 2020
4f78be8
fix network controller base image
and-rewsmith Apr 30, 2020
2cf918c
fix network controller base image tag
and-rewsmith Apr 30, 2020
dca3433
attempt to fix generic host
and-rewsmith Apr 30, 2020
dc55d11
revert changes to webhost
and-rewsmith Apr 30, 2020
9b0c043
revert changes to startup
and-rewsmith Apr 30, 2020
cede7ad
add logging
and-rewsmith Apr 30, 2020
a50ca10
revert dependency manager scope change
and-rewsmith Apr 30, 2020
d84e5dc
disable endpoint routing
and-rewsmith Apr 30, 2020
e633674
remove debug logging
and-rewsmith May 1, 2020
af0be0f
hacky attempt at workaround, clean up later
and-rewsmith May 4, 2020
fa866a0
address self comments
and-rewsmith May 4, 2020
1f9f72d
hacky POC v2
and-rewsmith May 4, 2020
6c47939
merge upstream master
and-rewsmith May 4, 2020
8b34897
add newtonsoft json for test modules
and-rewsmith May 4, 2020
01467d3
missed some base images
and-rewsmith May 4, 2020
7a9f962
add logs
and-rewsmith May 5, 2020
d2db33b
alter hacky POC
and-rewsmith May 5, 2020
1ca3121
remove serialization and fix dup adds
and-rewsmith May 5, 2020
0fe78a0
more logs
and-rewsmith May 5, 2020
27f93b4
alter logs
and-rewsmith May 5, 2020
3827451
add logging around ws middleware
and-rewsmith May 5, 2020
e02c519
logs around auth entrypoint
and-rewsmith May 5, 2020
cd5776f
more logs
and-rewsmith May 5, 2020
9c93ba9
fix build
and-rewsmith May 5, 2020
f1b3975
more logs
and-rewsmith May 5, 2020
626cef1
register connection certs specific logs
and-rewsmith May 5, 2020
3758d36
deep copy chain elements
and-rewsmith May 5, 2020
329eb45
deep copy chain for ws
and-rewsmith May 5, 2020
3020217
refactor websocket cert http context
and-rewsmith May 5, 2020
272f450
clean up cert mapper logic
and-rewsmith May 6, 2020
41a44fd
remove logging
and-rewsmith May 6, 2020
a82de49
remove more logging
and-rewsmith May 6, 2020
ca62698
remove unused dotnet url in images yaml:
and-rewsmith May 6, 2020
c5f05df
test consistency logging command factory
and-rewsmith May 6, 2020
9bc4428
eliminate static public class and move to instance
and-rewsmith May 6, 2020
15f6c29
address self comments
and-rewsmith May 6, 2020
1c44201
clean up using
and-rewsmith May 6, 2020
3e74ce5
remove prereqs to see if truly needed
and-rewsmith May 6, 2020
c49112c
prereqs needed for ci and checkin on linux only
and-rewsmith May 6, 2020
28df313
use newtonsoft json in edgehub service
and-rewsmith May 6, 2020
691f626
remove windows install prereq script: unused
and-rewsmith May 6, 2020
ab2304d
use new routing in edgeHub
and-rewsmith May 7, 2020
44d6e3f
prior attempted aspnet fix
and-rewsmith May 7, 2020
13cd7f3
no more useMvc()
and-rewsmith May 7, 2020
a744aa1
new e2e tests use dotnet 3.1
and-rewsmith May 7, 2020
a9a906b
service deployment use dotnet 3.1
and-rewsmith May 7, 2020
c976988
merge upstream master
and-rewsmith May 7, 2020
7f8f5c8
attempt workaround for certmapper
and-rewsmith May 7, 2020
cd3d064
hacky workaround to make aspnet middleware set sslstream
and-rewsmith May 8, 2020
56b88f7
clean up custom middleware
and-rewsmith May 8, 2020
c21e976
eliminate cert mapper
and-rewsmith May 8, 2020
d417497
unneeded using
and-rewsmith May 8, 2020
b36165f
remove unused parameter
and-rewsmith May 8, 2020
5412abb
use no certificate to enable chained callbacks
and-rewsmith May 8, 2020
4d55617
set require certificate true to enable cert validation callback
and-rewsmith May 9, 2020
8192573
remove unused var
and-rewsmith May 11, 2020
294fd7d
set no certificate mode
and-rewsmith May 11, 2020
66d830e
make certificate handling work for all cases
and-rewsmith May 11, 2020
b00afc9
set blank tls connection feature for direct method case
and-rewsmith May 11, 2020
9a99611
fix chain option logic
and-rewsmith May 11, 2020
f0db4bd
attempt assembly name fix for edgeHub routing
and-rewsmith May 12, 2020
d09b955
turn off https middleware to debug routing
and-rewsmith May 12, 2020
29fcecf
fix direct methods
and-rewsmith May 12, 2020
bfae8e5
new dotnet version 5-12
and-rewsmith May 13, 2020
04dad90
update dockerfiles for new dotnet version
and-rewsmith May 13, 2020
87423c3
separate PR for images release yaml:
and-rewsmith May 13, 2020
3f5bf57
raise permissions for azureiotedge-module-base-full to get network co…
and-rewsmith May 13, 2020
34e5607
restart docker
and-rewsmith May 13, 2020
cb649a4
fix spacing
and-rewsmith May 13, 2020
6eb63ca
fix misleading error message
and-rewsmith May 14, 2020
b72cc9e
add usage to winarm32 build manifest
and-rewsmith May 14, 2020
0e77634
Merge branch 'master' of github.com:Azure/iotedge into andsmi/dotnet-3.1
and-rewsmith May 14, 2020
ad7e429
remove arguments to prereqs script
and-rewsmith May 15, 2020
5a98eb0
move comment for image build functions sample to describe linux
and-rewsmith May 15, 2020
72e1d09
fix indentation
and-rewsmith May 15, 2020
fc2802a
fix indentation
and-rewsmith May 15, 2020
b5ec53e
don't run moduleuser for images using module-base-full
and-rewsmith May 15, 2020
eb2a7b5
merge upstream master
and-rewsmith May 15, 2020
8dd6f61
merge upstream master
and-rewsmith May 15, 2020
2f9d862
Consolidate multiple versions of NuGet packages.
philipktlin May 16, 2020
dd78b34
use netstandard where possible
and-rewsmith May 18, 2020
1276752
add same basic validation as in aspnet's HttpsConnectionMiddleware
and-rewsmith May 18, 2020
0d192e6
make moduleUtil netstandard
and-rewsmith May 18, 2020
c6a41dc
update condition to skip arm64 linux build if other steps fail
and-rewsmith May 18, 2020
359669f
eliminate OS param from buildBranch.sh
and-rewsmith May 18, 2020
411a9db
add comment describing aspnetcore middleware handling
and-rewsmith May 18, 2020
13fe88d
clean up edgehub debug logging
and-rewsmith May 19, 2020
6ff4f6b
use netstandard for azure web jobs
and-rewsmith May 19, 2020
93f9e2e
switch webjobs back to netcoreapp
and-rewsmith May 19, 2020
8d5083b
update sdk version for downstream device sample
and-rewsmith May 19, 2020
c8f6245
don't check for null cert
and-rewsmith May 19, 2020
0c0276d
Merge branch 'master' of github.com:Azure/iotedge into andsmi/dotnet-…
and-rewsmith May 19, 2020
43aaaae
use netstandard 2.0
and-rewsmith May 19, 2020
026dce8
remove erroneous sslpolicyerror check
and-rewsmith May 19, 2020
5769c56
option maybe
and-rewsmith May 20, 2020
061c7c7
revert changes to HttpWorkloadClient
and-rewsmith May 20, 2020
17a34c9
re-order cert comment for clarity
and-rewsmith May 20, 2020
0667b8f
add link to aspnet middleware
and-rewsmith May 20, 2020
e972a9f
add readme and todo to workload clients
and-rewsmith May 20, 2020
0c7d811
use netstandard 2.0 for all libraries
and-rewsmith May 20, 2020
1b9f5f6
Merge branch 'master' of github.com:Azure/iotedge into andsmi/dotnet-…
and-rewsmith May 20, 2020
051f097
fix stylecop
and-rewsmith May 20, 2020
c278770
use netstandard for windows publish
and-rewsmith May 20, 2020
ed0c4dc
lingering direct netstandard reference in csproj
and-rewsmith May 21, 2020
9ec1e38
fix functions module by publishing as application instead of lib
and-rewsmith May 21, 2020
fc0a303
Merge branch 'master' into andsmi/dotnet-3.1
and-rewsmith May 22, 2020
767e1a7
Merge branch 'master' into andsmi/dotnet-3.1
and-rewsmith May 22, 2020
8cfe41d
Merge branch 'master' into andsmi/dotnet-3.1
philipktlin May 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 30 additions & 11 deletions Microsoft.Azure.Devices.Edge.sln
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsValidator", "test\mo
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EdgeHubRestartTester", "test\modules\EdgeHubRestartTester\EdgeHubRestartTester.csproj", "{DA073067-83EF-4F4C-8E58-51CA7870C1F6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudToDeviceMessageTester", "test\modules\CloudToDeviceMessageTester\CloudToDeviceMessageTester.csproj", "{446F50F3-3E93-454B-8EBF-4830E92DFE5D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CloudToDeviceMessageTester", "test\modules\CloudToDeviceMessageTester\CloudToDeviceMessageTester.csproj", "{446F50F3-3E93-454B-8EBF-4830E92DFE5D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{C077918C-9AD4-4F01-ADED-4B8B6AB784A2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dotnet", "dotnet", "{A6D8677F-DB76-459E-B6DE-110AFCEF7F08}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EdgeDownstreamDevice", "samples\dotnet\EdgeDownstreamDevice\EdgeDownstreamDevice.csproj", "{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EdgeX509AuthDownstreamDevice", "samples\dotnet\EdgeX509AuthDownstreamDevice\EdgeX509AuthDownstreamDevice.csproj", "{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -590,18 +598,10 @@ Global
{1C1C8203-CD73-4CC1-9112-7315F9DE1AB6}.Release|Any CPU.Build.0 = Release|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.CheckInBuild|Any CPU.ActiveCfg = CheckInBuild|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.CheckInBuild|Any CPU.Build.0 = CheckInBuild|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.CodeCoverage|Any CPU.ActiveCfg = CodeCoverage|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.CodeCoverage|Any CPU.Build.0 = CodeCoverage|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B3C68519-B309-42FF-B4DF-9E77B2D4BD50}.Release|Any CPU.Build.0 = Release|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.CheckInBuild|Any CPU.ActiveCfg = Debug|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.CheckInBuild|Any CPU.Build.0 = Debug|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Release|Any CPU.Build.0 = Release|Any CPU
{5857DB4A-F61A-4467-96F1-003B47B8B2CF}.CheckInBuild|Any CPU.ActiveCfg = CheckInBuild|Any CPU
{5857DB4A-F61A-4467-96F1-003B47B8B2CF}.CheckInBuild|Any CPU.Build.0 = CheckInBuild|Any CPU
{5857DB4A-F61A-4467-96F1-003B47B8B2CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
Expand All @@ -610,12 +610,28 @@ Global
{5857DB4A-F61A-4467-96F1-003B47B8B2CF}.Release|Any CPU.Build.0 = Release|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.CheckInBuild|Any CPU.ActiveCfg = CheckInBuild|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.CheckInBuild|Any CPU.Build.0 = CheckInBuild|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.CodeCoverage|Any CPU.ActiveCfg = CodeCoverage|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.CodeCoverage|Any CPU.Build.0 = CodeCoverage|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DA073067-83EF-4F4C-8E58-51CA7870C1F6}.Release|Any CPU.Build.0 = Release|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.CheckInBuild|Any CPU.ActiveCfg = CheckInBuild|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.CheckInBuild|Any CPU.Build.0 = CheckInBuild|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{446F50F3-3E93-454B-8EBF-4830E92DFE5D}.Release|Any CPU.Build.0 = Release|Any CPU
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}.CheckInBuild|Any CPU.ActiveCfg = CheckInBuild|Any CPU
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}.CheckInBuild|Any CPU.Build.0 = CheckInBuild|Any CPU
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD}.Release|Any CPU.Build.0 = Release|Any CPU
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}.CheckInBuild|Any CPU.ActiveCfg = CheckInBuild|Any CPU
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}.CheckInBuild|Any CPU.Build.0 = CheckInBuild|Any CPU
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -704,6 +720,9 @@ Global
{5857DB4A-F61A-4467-96F1-003B47B8B2CF} = {F921339B-32F9-4BF3-B364-2DB01FA2F1A1}
{DA073067-83EF-4F4C-8E58-51CA7870C1F6} = {F921339B-32F9-4BF3-B364-2DB01FA2F1A1}
{446F50F3-3E93-454B-8EBF-4830E92DFE5D} = {F921339B-32F9-4BF3-B364-2DB01FA2F1A1}
{A6D8677F-DB76-459E-B6DE-110AFCEF7F08} = {C077918C-9AD4-4F01-ADED-4B8B6AB784A2}
{7546DB89-643A-477F-AEE3-FA05BDCE4ACD} = {A6D8677F-DB76-459E-B6DE-110AFCEF7F08}
{9E809F78-0EFF-4860-94D1-8D0EF1A9C1F1} = {A6D8677F-DB76-459E-B6DE-110AFCEF7F08}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D71830F5-3AF5-46B4-8A9E-1DCE4F2253AC}
Expand Down
10 changes: 3 additions & 7 deletions builds/checkin/dotnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ jobs:
pool:
vmImage: "ubuntu-16.04"
steps:
- template: ../templates/install-dotnet3.yaml
- task: Bash@3
displayName: Install
displayName: Install Prerequisites
inputs:
filePath: scripts/linux/installPrereqs.sh
arguments: -u $(NetCorePackageUriLinux)
- task: Bash@3
displayName: Build
inputs:
Expand All @@ -63,11 +63,7 @@ jobs:
pool:
vmImage: "vs2017-win2016"
steps:
- task: PowerShell@2
displayName: Install
inputs:
filePath: scripts/windows/setup/Install-Prerequisites.ps1
arguments: -DotnetSdkUrl $(NetCorePackageUriWindows) -Dotnet -Nuget
philipktlin marked this conversation as resolved.
Show resolved Hide resolved
- template: ../templates/install-dotnet3.yaml
philipktlin marked this conversation as resolved.
Show resolved Hide resolved
- task: PowerShell@2
displayName: Build
inputs:
Expand Down
19 changes: 5 additions & 14 deletions builds/ci/dotnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ trigger:
pr: none
variables:
build.configuration: Release
dotnet.version: 2.1.x
test.filter: Category=Integration&Category!=Stress
jobs:
- job: linux
Expand All @@ -32,15 +31,11 @@ jobs:
IotDevice3ConnStr2,
IotHubConnStr2,
IotHubMqttHeadCert
- task: UseDotNet@2
displayName: Install .NET Core sdk
- template: ../templates/install-dotnet3.yaml
- task: Bash@3
displayName: Install Prerequisites
inputs:
packageType: sdk
version: $(dotnet.version)
- script: |
sudo apt-get update
sudo apt-get install -y libsnappy1v5
displayName: Install libsnappy1v5 # Needed for rocksdb integration tests
filePath: scripts/linux/installPrereqs.sh
- pwsh: |
$store = [System.Security.Cryptography.X509Certificates.X509Store]::new('Root', 'CurrentUser')
$store.Open('ReadWrite')
Expand Down Expand Up @@ -111,11 +106,7 @@ jobs:
IotDevice3ConnStr2,
IotHubConnStr2,
IotHubMqttHeadCert
- task: UseDotNet@2
displayName: Install .NET Core sdk
inputs:
packageType: sdk
version: $(dotnet.version)
- template: ../templates/install-dotnet3.yaml
- powershell: scripts/windows/build/Publish-Branch.ps1 -Configuration $(Build.Configuration) -UpdateVersion
displayName: Build
- powershell: scripts/windows/test/Test-Branch.ps1 -Filter "$(test.filter)&Category!=Kubernetes" -BuildConfig $(Build.Configuration)
Expand Down
2 changes: 1 addition & 1 deletion builds/e2e/templates/e2e-setup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ steps:
$testDir = '$(Build.SourcesDirectory)/test/Microsoft.Azure.Devices.Edge.Test'
dotnet build $testDir
$binDir = Convert-Path "$testDir/bin/Debug/netcoreapp2.1"
$binDir = Convert-Path "$testDir/bin/Debug/netcoreapp3.1"
Write-Output "##vso[task.setvariable variable=binDir]$binDir"
displayName: Build tests

Expand Down
168 changes: 4 additions & 164 deletions builds/misc/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,170 +7,15 @@ trigger:
pr: none

jobs:
################################################################################
- job: linux_dotnet_projects_arm64
################################################################################
displayName: LinuxDotnet ARM64
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: UseDotNet@2
displayName: Install .NET Core sdk
inputs:
packageType: sdk
version: 3.0.x

- bash: 'docker login $(registry.address) --username $(registry.user) --password $(registry.password)'
displayName: 'Docker Login'

- script: scripts/linux/buildBranch.sh -c $(Build.Configuration) --no-rocksdb-bin --os Unix --dotnet_runtime netcoreapp3.0
name: build
displayName: Build ($(Build.Configuration))

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifacts'
inputs:
PathtoPublish: '$(Build.BinariesDirectory)/publish'
ArtifactName: 'core-linux'

# Edge Agent - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Edge Agent - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-agent -n microsoft -P Microsoft.Azure.Devices.Edge.Agent.Service --target-arch aarch64

# Edge Hub - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Edge Hub - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-hub -n microsoft -P Microsoft.Azure.Devices.Edge.Hub.Service --target-arch aarch64

# Simulated Temperature Sensor - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Temperature Sensor - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-simulated-temperature-sensor -n microsoft -P SimulatedTemperatureSensor --target-arch aarch64

# Temperature Filter - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Temperature Filter - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-temperature-filter -n microsoft -P TemperatureFilter --target-arch aarch64

# Load Gen - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Load Gen - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-load-gen -n microsoft -P load-gen --target-arch aarch64

# Test Analyzer - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Test Analyzer - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-analyzer -n microsoft -P TestAnalyzer --target-arch aarch64

# Functions Sample - Not Using Template for ARM64 because we have 2 different .NET Core.//TODO: Enable this once Functions supports arm64v8. Right now they are not ready.
#- task: Bash@3
# displayName: Build Image - Functions Sample - aarch64
# inputs:
# filePath: scripts/linux/buildImage.sh
# arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-functions-filter -n azureiotedge -P EdgeHubTriggerCSharp --target-arch aarch64

# Direct Method Sender - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Direct Method Sender - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-direct-method-sender -n microsoft -P DirectMethodSender --target-arch aarch64

# Direct Method Receiver - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Direct Method Receiver - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-direct-method-receiver -n microsoft -P DirectMethodReceiver --target-arch aarch64

# Metrics Validator - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Metrics Validator - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-metrics-validator -n microsoft -P MetricsValidator --target-arch aarch64

# Module Restarter - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Module Restarter - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-module-restarter -n microsoft -P ModuleRestarter --target-arch aarch64

# Twin Tester - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Twin Tester - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-twin-tester -n microsoft -P TwinTester --target-arch aarch64

# Relayer - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Relayer - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-relayer -n microsoft -P Relayer --target-arch aarch64

# Metrics Collector - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Metrics Collector - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-metrics-collector -n microsoft -P MetricsCollector --target-arch aarch64

# TestResultCoordinator - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Test Result Coordinator - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-test-result-coordinator -n microsoft -P TestResultCoordinator --target-arch aarch64

# DeploymentTester - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Deployment Tester - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-deployment-tester -n microsoft -P DeploymentTester --target-arch aarch64

# EdgeHubRestartTester - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - EdgeHub Restart Tester - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-edgehub-restart-tester -n microsoft -P EdgeHubRestartTester --target-arch aarch64

# CloudToDeviceMessageTester - Not Using Template for ARM64 because we have 2 different .NET Core.
- task: Bash@3
displayName: Build Image - Cloud To Device Message Receiver Tester - aarch64
inputs:
filePath: scripts/linux/buildImage.sh
arguments: -r $(registry.address) -u $(registry.user) -p $(registry.password) -i azureiotedge-c2dmessage-tester -n microsoft -P CloudToDeviceMessageTester --target-arch aarch64

################################################################################
- job: linux_dotnet_projects
################################################################################
displayName: LinuxDotnet
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: UseDotNet@2
displayName: 'Install .NET Core sdk'
inputs:
packageType: sdk
version: 2.1.x
- template: ../templates/install-dotnet3.yaml

- bash: 'docker login $(registry.address) --username $(registry.user) --password $(registry.password)'
displayName: 'Docker Login'

Expand Down Expand Up @@ -229,7 +74,7 @@ jobs:
imageName: azureiotedge-analyzer
project: TestAnalyzer

# Functions Sample
# Functions Sample - Not supported on linux arm64
- template: templates/image-linux.yaml
parameters:
name: Functions Sample
Expand Down Expand Up @@ -356,12 +201,8 @@ jobs:
- win-rs5
workspace:
clean: all
variables:
NetCorePackageUri: https://download.microsoft.com/download/4/0/9/40920432-3302-47a8-b13c-bbc4848ad114/dotnet-sdk-2.1.302-win-x64.zip
steps:
- powershell: scripts/windows/setup/Install-Prerequisites.ps1 -DotnetSdkUrl $(NetCorePackageUri) -Dotnet -Nuget
name: install
displayName: Install
- template: ../templates/install-dotnet3.yaml

- script: echo $(registry.password)|docker login "edgebuilds.azurecr.io" -u "$(registry.user)" --password-stdin
displayName: Docker Login
Expand Down Expand Up @@ -526,7 +367,6 @@ jobs:
vmImage: 'ubuntu-16.04'
dependsOn:
- linux_dotnet_projects
- linux_dotnet_projects_arm64
- linux_rust_amd64
- linux_rust_arm32
- linux_rust_arm64
Expand Down
Loading