Skip to content

Commit baf3061

Browse files
Merge branch 'bugs' of https://github.com/NiklasGustafsson/TorchSharp into bugs
2 parents e5817bf + 6336155 commit baf3061

File tree

4 files changed

+51
-56
lines changed

4 files changed

+51
-56
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
<!-- we manually update these -->
8888
<PropertyGroup Condition="'$(MSBuildProjectName.IndexOf(`libtorch-`))' != '-1'">
8989
<LibTorchPackageVersion>2.2.1.1</LibTorchPackageVersion>
90-
<PreviousPackageVersion>2.2.1.1</PreviousPackageVersion>
90+
<EnablePackageValidation>false</EnablePackageValidation>
9191
<VersionPrefix>$(LibTorchPackageVersion)</VersionPrefix>
9292
<VersionSuffix></VersionSuffix>
9393
</PropertyGroup>

azure-pipelines.yml

Lines changed: 47 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,33 @@
44

55
name: $(TeamProject)_$(Build.DefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
66

7-
variables:
8-
MyRunNumber: $[counter('MyRunNumber', 52201)]
9-
7+
parameters:
108
# Set this to 'true' to build the libtorch-* packages as part of main branch CI and
119
# push them to the artifacts feed of the Azure CI project
12-
BuildLibTorchPackages: false
13-
PushPackagesToFeed: false
10+
- name: BuildLibTorchPackages
11+
type: boolean
12+
default: false
13+
- name: PushPackagesToFeed
14+
type: boolean
15+
default: false
16+
# Set which source branch to build libtorch-* packages.
17+
# The build-libtorch jobs are only run if the source branch is the same as this value.
18+
# The default is 'main' branch.
19+
- name: SourceBranchName
20+
type: string
21+
default: 'main'
22+
23+
variables:
24+
MyRunNumber: $[counter('MyRunNumber', 52201)]
25+
LinuxPrepScript: |
26+
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX)
27+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DE19EB17684BA42D
28+
sudo apt-get -y update
29+
sudo apt-get -y install cmake clang git libunwind8 curl libomp-dev libomp5 wget
30+
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
31+
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
32+
sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update
33+
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX)
1434
1535
resources:
1636
containers:
@@ -20,7 +40,7 @@ resources:
2040
# https://github.com/dotnet/versions/blob/main/build-info/docker/image-info.dotnet-dotnet-buildtools-prereqs-docker-main.json
2141

2242
- container: UbuntuContainer
23-
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-mlnet-20240216051055-578f026
43+
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-20240708213715-dcf0bb9
2444

2545
jobs:
2646
- template: /build/ci/job-template.yml
@@ -29,15 +49,7 @@ jobs:
2949
# This reports the GLIB_ and GLIBCXX_ dependencies on the system which ends up getting baked into
3050
# the generated libTorchSharp.so (and partly determines which Linux systems that binary will
3151
# be usable on), then installs clang-7.0 (LibTorch likes this for building C++ 14), then installs .NET 6.0
32-
prepScript:
33-
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX) &&
34-
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DE19EB17684BA42D &&
35-
sudo apt-get -y update &&
36-
sudo apt-get -y install cmake clang git libunwind8 curl libomp-dev libomp5 &&
37-
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb &&
38-
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb &&
39-
sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update &&
40-
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX)
52+
prepScript: ${{ variables.LinuxPrepScript }}
4153
buildScript: dotnet build /p:SkipCuda=true -c
4254
testScript: dotnet test /p:SkipCuda=true --blame test/TorchSharpTest/TorchSharpTest.csproj -c
4355
pool:
@@ -88,7 +100,7 @@ jobs:
88100
################################################################################
89101
- job: Linux_Native_Build_For_Packages
90102
################################################################################
91-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'))
103+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
92104
variables:
93105
BuildConfig: Release
94106
OfficialBuildId: $(BUILD.BUILDNUMBER)
@@ -104,26 +116,18 @@ jobs:
104116
displayName: 'Use .NET Core sdk'
105117
inputs:
106118
packageType: sdk
107-
version: 6.x
119+
version: 6.0.402
108120
installationPath: $(Agent.ToolsDirectory)/dotnet
109121

110-
- script:
111-
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX) &&
112-
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DE19EB17684BA42D &&
113-
sudo apt-get -y update &&
114-
sudo apt-get -y install cmake clang git libunwind8 curl libomp-dev libomp5 &&
115-
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb &&
116-
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb &&
117-
sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update &&
118-
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX)
122+
- script: ${{ variables.LinuxPrepScript }}
119123
displayName: Install dependencies
120124

121125
- script: dotnet build -c $(BuildConfig) src/Redist/libtorch-cpu/libtorch-cpu.proj /p:UpdateSHA=true /p:SkipTests=true /p:TargetOS=linux /t:Build /p:IncludeLibTorchCpuPackages=true
122-
condition: eq(variables['BuildLibTorchPackages'], 'true')
126+
condition: eq('${{ parameters.BuildLibTorchPackages }}', true)
123127
displayName: Download libtorch native binaries
124128

125129
- script: dotnet build -c $(BuildConfig) src/Redist/libtorch-cuda-12.1/libtorch-cuda-12.1.proj /p:UpdateSHA=true /p:SkipTests=true /p:TargetOS=linux /t:Build /p:IncludeLibTorchCudaPackages=true
126-
condition: eq(variables['BuildLibTorchPackages'], 'true')
130+
condition: eq('${{ parameters.BuildLibTorchPackages }}', true)
127131
displayName: Download libtorch native CUDA binaries
128132

129133
- script: dotnet build -c $(BuildConfig) src/TorchSharp/TorchSharp.csproj /p:SkipCuda=true /p:SkipTests=true
@@ -141,7 +145,7 @@ jobs:
141145
################################################################################
142146
- job: Windows_Native_Build_For_Packages
143147
################################################################################
144-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'))
148+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
145149
variables:
146150
BuildConfig: Release
147151
OfficialBuildId: $(BUILD.BUILDNUMBER)
@@ -152,7 +156,6 @@ jobs:
152156
vmImage: 'windows-latest'
153157

154158
steps:
155-
156159
- task: UseDotNet@2
157160
displayName: 'Use .NET Core sdk'
158161
inputs:
@@ -161,15 +164,14 @@ jobs:
161164
installationPath: $(Agent.ToolsDirectory)/dotnet
162165

163166
- script: dotnet build -c $(BuildConfig) src/Redist/libtorch-cpu/libtorch-cpu.proj /p:UpdateSHA=true /p:SkipTests=true /p:TargetOS=windows /t:Build /p:IncludeLibTorchCpuPackages=true
164-
condition: eq(variables['BuildLibTorchPackages'], 'true')
165167
displayName: Download libtorch native binaries
166168

167169
- script: dotnet build -c $(BuildConfig) src/Redist/libtorch-cuda-12.1/libtorch-cuda-12.1.proj /p:UpdateSHA=true /p:SkipTests=true /p:TargetOS=windows /t:Build /p:IncludeLibTorchCudaPackages=true
168-
condition: eq(variables['BuildLibTorchPackages'], 'true')
170+
condition: eq('${{ parameters.BuildLibTorchPackages }}', true)
169171
displayName: Download libtorch native CUDA binaries
170172

171-
172173
- script: dotnet build -c $(BuildConfig) src/TorchSharp/TorchSharp.csproj /p:SkipCuda=true /p:SkipTests=true
174+
condition: eq('${{ parameters.BuildLibTorchPackages }}', true)
173175
displayName: Build Windows
174176

175177
- script: dotnet build -c $(BuildConfig) src/TorchVision/TorchVision.csproj /p:SkipCuda=true /p:SkipTests=true
@@ -184,7 +186,7 @@ jobs:
184186
# ################################################################################
185187
- job: MacOS_x64_Native_Build_For_Packages
186188
# ################################################################################
187-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'))
189+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
188190
variables:
189191
BuildConfig: Release
190192
OfficialBuildId: $(BUILD.BUILDNUMBER)
@@ -195,7 +197,7 @@ jobs:
195197
vmImage: 'macos-latest'
196198
steps:
197199
- script: dotnet build -c $(BuildConfig) src/Redist/libtorch-cpu/libtorch-cpu.proj /p:UpdateSHA=true /p:SkipTests=true /p:TargetOS=mac /t:Build /p:IncludeLibTorchCpuPackages=true
198-
condition: eq(variables['BuildLibTorchPackages'], 'true')
200+
condition: eq('${{ parameters.BuildLibTorchPackages }}', true)
199201
displayName: Download libtorch native binaries
200202

201203
- script: dotnet build -c $(BuildConfig) src/TorchSharp/TorchSharp.csproj /p:SkipCuda=true /p:SkipTests=true
@@ -213,7 +215,7 @@ jobs:
213215
# ################################################################################
214216
- job: MacOS_arm64_Native_Build_For_Packages
215217
# ################################################################################
216-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'))
218+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
217219
variables:
218220
BuildConfig: Release
219221
OfficialBuildId: $(BUILD.BUILDNUMBER)
@@ -242,7 +244,7 @@ jobs:
242244
################################################################################
243245
- job: Build_TorchSharp_And_libtorch_cpu_Packages
244246
################################################################################
245-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'))
247+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
246248
dependsOn:
247249
- Linux_Native_Build_For_Packages
248250
- Windows_Native_Build_For_Packages
@@ -416,7 +418,7 @@ jobs:
416418
# Only run if BuildLibTorchPackages is true
417419
- job: Build_libtorch_cuda_win_Packages
418420
################################################################################
419-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'), eq(variables['BuildLibTorchPackages'], 'true'))
421+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'), eq('${{ parameters.BuildLibTorchPackages }}', true))
420422
dependsOn:
421423
- Windows_Native_Build_For_Packages
422424
variables:
@@ -471,7 +473,7 @@ jobs:
471473
################################################################################
472474
- job: Build_libtorch_cuda_linux_Packages
473475
################################################################################
474-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'), eq(variables['BuildLibTorchPackages'], 'true'))
476+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'), eq('${{ parameters.BuildLibTorchPackages }}', true))
475477
dependsOn:
476478
- Linux_Native_Build_For_Packages
477479
variables:
@@ -492,15 +494,7 @@ jobs:
492494
version: 6.x
493495
installationPath: $(Agent.ToolsDirectory)/dotnet
494496

495-
- script:
496-
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX) &&
497-
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DE19EB17684BA42D &&
498-
sudo apt-get -y update &&
499-
sudo apt-get -y install cmake clang git libunwind8 curl libomp-dev libomp5 &&
500-
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb &&
501-
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb &&
502-
sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update &&
503-
ldd --version && (/sbin/ldconfig -p | grep stdc++) && (strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX)
497+
- script: ${{ variables.LinuxPrepScript }}
504498
displayName: Install dependencies
505499

506500
# We are 10GB space-constrained on the Azure Pipelines CI system so clean up what we can
@@ -545,7 +539,7 @@ jobs:
545539
################################################################################
546540
- job: CodeSign_Core
547541
################################################################################
548-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'))
542+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
549543
dependsOn:
550544
- Build_TorchSharp_And_libtorch_cpu_Packages
551545
variables:
@@ -593,7 +587,7 @@ jobs:
593587
################################################################################
594588
- job: CodeSign_Extras
595589
################################################################################
596-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'), eq(variables['BuildLibTorchPackages'], 'true'))
590+
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'), eq('${{ parameters.PushPackagesToFeed }}', true))
597591
dependsOn:
598592
- Build_libtorch_cuda_win_Packages
599593
- Build_libtorch_cuda_linux_Packages
@@ -667,8 +661,7 @@ jobs:
667661
################################################################################
668662
- job: Push_TorchSharp_And_libtorch_cpu_Packages
669663
################################################################################
670-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'), eq(variables['PushPackagesToFeed'], true))
671-
664+
condition: and(eq('${{ parameters.PushPackagesToFeed }}', true), ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], '${{ parameters.SourceBranchName }}'))
672665
dependsOn:
673666
- Build_TorchSharp_And_libtorch_cpu_Packages
674667
- CodeSign_Core
@@ -769,7 +762,7 @@ jobs:
769762
# Only run if BuildLibTorchPackages is true
770763
- job: Push_libtorch_cuda_win_Packages
771764
################################################################################
772-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'), eq(variables['BuildLibTorchPackages'], 'true'), eq(variables['PushPackagesToFeed'], true))
765+
condition: and(eq('${{ parameters.BuildLibTorchPackages }}', true), eq('${{ parameters.PushPackagesToFeed }}', true), ne(variables['system.pullrequest.isfork'], true))
773766
dependsOn:
774767
- Build_libtorch_cuda_win_Packages
775768
- CodeSign_Extras
@@ -854,7 +847,7 @@ jobs:
854847
################################################################################
855848
- job: Push_libtorch_cuda_linux_Packages
856849
################################################################################
857-
condition: and(ne(variables['system.pullrequest.isfork'], true), eq(variables['build.sourcebranchname'], 'main'), eq(variables['BuildLibTorchPackages'], 'true'), eq(variables['PushPackagesToFeed'], true))
850+
condition: and(eq('${{ parameters.BuildLibTorchPackages }}', 'true'), eq('${{ parameters.PushPackagesToFeed }}', true), ne(variables['system.pullrequest.isfork'], true))
858851
dependsOn:
859852
- Build_libtorch_cuda_linux_Packages
860853
- CodeSign_Extras

pkg/Directory.Build.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<Import Project="..\Directory.Build.targets" />
33

4-
<PropertyGroup Condition="'$(IsPackable)' != 'false'">
4+
<PropertyGroup Condition="'$(IsPackable)' != 'false' and '$(EnablePackageValidation)' != 'false'">
55
<EnablePackageValidation>true</EnablePackageValidation>
66
<PackageValidationBaselineVersion>$(PreviousPackageVersion)</PackageValidationBaselineVersion>
77
</PropertyGroup>

pkg/pack.proj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<PackProject Include="**\libtorch-cuda-$(CudaVersionDot)-linux-*.nupkgproj" Condition="'$(IncludeLibTorchCudaPackages)' == 'true' AND '$(TargetOS)' == 'linux'" />
77
<PackProject Include="**\libtorch-cuda-$(CudaVersionDot)-win-*.nupkgproj" Condition="'$(IncludeLibTorchCudaPackages)' == 'true' AND '$(TargetOS)' == 'windows'" />
88
<PackProject Include="**\libtorch-cuda-$(CudaVersionDot)-mac-*.nupkgproj" Condition="'$(IncludeLibTorchCudaPackages)' == 'true' AND '$(TargetOS)' == 'mac'" />
9+
</ItemGroup>
10+
<ItemGroup Condition="'$(IncludeTorchSharpPackage)' == 'true'">
911
<PackProject Include="**\TorchAudio.nupkgproj" />
1012
<PackProject Include="**\TorchSharp.nupkgproj" />
1113
<PackProject Include="**\TorchSharp-cpu.nupkgproj" />

0 commit comments

Comments
 (0)