Skip to content

Commit

Permalink
Rearrange official build
Browse files Browse the repository at this point in the history
- Set official build id parameter
- Build nuget package on Build leg
- Publish the worker using MSBuild instead of cmd
  • Loading branch information
eerhardt committed May 22, 2019
1 parent 7273812 commit 6611ce0
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 87 deletions.
88 changes: 22 additions & 66 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ trigger:
- master

variables:
solution: '**/*.sln'
buildConfiguration: 'Release'
dotnetCoreVersion: '2.2.203'
_SignType: real
Expand All @@ -23,31 +22,15 @@ jobs:
displayName: Build and Test Sources
pool: Hosted VS2017

variables:
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
_OfficialBuildIdArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)

steps:
- task: DotNetCoreInstaller@0
inputs:
version: '$(dotnetCoreVersion)'

- task: DotNetCoreCLI@2
displayName: '.NET build'
inputs:
command: build
projects: '$(solution)'
arguments: '--configuration $(buildConfiguration)'

- task: BatchScript@1
displayName: Publish Microsoft.Spark.Worker
inputs:
filename: script\publish-workers.cmd
arguments: $(Build.SourcesDirectory) $(Build.ArtifactStagingDirectory)\Microsoft.Spark.Worker $(buildConfiguration)

- task: DotNetCoreCLI@2
displayName: '.NET unit tests'
inputs:
command: test
projects: '**/*UnitTest/*.csproj'
arguments: '--configuration $(buildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura'

- task: Maven@3
displayName: 'Maven build src'
inputs:
Expand All @@ -64,6 +47,20 @@ jobs:
filename: script\download-spark-distros.cmd
arguments: $(Build.BinariesDirectory)

- script: build.cmd -pack
-c $(buildConfiguration)
$(_OfficialBuildIdArgs)
/p:PublishSparkWorker=true
/p:SparkWorkerPublishDir=$(Build.ArtifactStagingDirectory)\Microsoft.Spark.Worker
displayName: '.NET build'

- task: DotNetCoreCLI@2
displayName: '.NET unit tests'
inputs:
command: test
projects: '**/*UnitTest/*.csproj'
arguments: '--configuration $(buildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura'

- task: DotNetCoreCLI@2
displayName: 'E2E tests for Spark 2.3.0'
inputs:
Expand Down Expand Up @@ -134,19 +131,12 @@ jobs:
- task: CopyFiles@2
displayName: Stage .NET artifacts
inputs:
sourceFolder: $(Build.SourcesDirectory)/artifacts/bin/Microsoft.Spark/$(buildConfiguration)
sourceFolder: $(Build.SourcesDirectory)/artifacts/packages/$(buildConfiguration)/Shipping
contents: |
**/*.dll
**/*.pdb
targetFolder: $(Build.ArtifactStagingDirectory)/BuildArtifacts/artifacts/bin/Microsoft.Spark/$(buildConfiguration)
**/*.nupkg
**/*.snupkg
targetFolder: $(Build.ArtifactStagingDirectory)/BuildArtifacts/artifacts/packages/$(buildConfiguration)/Shipping

- task: CopyFiles@2
displayName: Stage scala artifacts
inputs:
sourceFolder: $(Build.SourcesDirectory)/src/scala
contents: '**/*.jar'
targetFolder: $(Build.ArtifactStagingDirectory)/BuildArtifacts/src/scala

- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
Expand Down Expand Up @@ -181,13 +171,6 @@ jobs:
**/*.pdb
targetFolder: $(Build.SourcesDirectory)/artifacts/bin/Microsoft.Spark/$(buildConfiguration)

- task: CopyFiles@2
displayName: Copy scala artifacts
inputs:
sourceFolder: $(Build.ArtifactStagingDirectory)/Microsoft.Spark.Binaries/BuildArtifacts/src/scala
contents: '**/*.jar'
targetFolder: $(Build.SourcesDirectory)/src/scala

- task: MicroBuildSigningPlugin@2
displayName: Install MicroBuild plugin
inputs:
Expand All @@ -205,26 +188,6 @@ jobs:
msbuildArguments: /t:Restore
msbuildVersion: 15.0

- task: MSBuild@1
displayName: 'Sign .NET binaries'
inputs:
solution: eng/Sign.proj
msbuildArguments: /t:SignBinaries
/p:SignSparkBinaries=true
/p:SignAssetsDir=$(Build.SourcesDirectory)\artifacts\bin\Microsoft.Spark\$(buildConfiguration)\
/p:SignType=$(_SignType)
msbuildVersion: 15.0

- task: MSBuild@1
displayName: 'Sign .jar binaries'
inputs:
solution: eng/Sign.proj
msbuildArguments: /t:SignBinaries
/p:SignJarBinaries=true
/p:SignAssetsDir=$(Build.SourcesDirectory)\src\scala\
/p:SignType=$(_SignType)
msbuildVersion: 15.0

- task: MSBuild@1
displayName: 'Sign worker binaries'
inputs:
Expand All @@ -235,13 +198,6 @@ jobs:
/p:SignType=$(_SignType)
msbuildVersion: 15.0

- task: DotNetCoreCLI@2
displayName: 'Create NuGet packages'
inputs:
command: pack
projects: '$(solution)'
arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'

- task: MSBuild@1
displayName: 'Sign nuget/snupkg packages'
inputs:
Expand Down
28 changes: 28 additions & 0 deletions eng/AfterSolutionBuild.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<Project>

<ItemGroup>
<_PublishProject Include="$(RepoRoot)src\csharp\Microsoft.Spark.Worker\Microsoft.Spark.Worker.csproj" />
</ItemGroup>

<ItemGroup>
<_PublishTarget Include="FullFramework" Framework="net461" RuntimeId="win-x64" />
<_PublishTarget Include="WindowsCore" Framework="netcoreapp2.1" RuntimeId="win-x64" />
<_PublishTarget Include="LinuxCore" Framework="netcoreapp2.1" RuntimeId="linux-x64" />
</ItemGroup>

<Target Name="PublishSparkWorker"
AfterTargets="Build"
Condition="'$(PublishSparkWorker)' == 'true'">

<Error Condition="'$(SparkWorkerPublishDir)' == ''"
Text="SparkWorkerPublishDir variable is not set." />

<Exec Command="dotnet publish &quot;@(_PublishProject)&quot; ^
-c $(Configuration) ^
-f %(_PublishTarget.Framework) ^
-r %(_PublishTarget.RuntimeId) ^
-o &quot;$(SparkWorkerPublishDir)\%(_PublishTarget.Framework)\%(_PublishTarget.RuntimeId)&quot; ^
/p:OfficialBuildId=$(OfficialBuildId)" />

</Target>
</Project>
21 changes: 0 additions & 21 deletions script/publish-workers.cmd

This file was deleted.

0 comments on commit 6611ce0

Please sign in to comment.