diff --git a/scripts/nightly.yaml b/scripts/nightly.yaml index 04e0a8e04..f412c41f9 100644 --- a/scripts/nightly.yaml +++ b/scripts/nightly.yaml @@ -1,5 +1,9 @@ variables: - ReleaseVersion: '4.8.16' + + Major: '4' + Minor: '8' + Patch: '16' + NightlyVersion: $(Major).$(Minor).$(Patch).$(Build.BuildId)-$(Build.DefinitionName) MacFlags: 'CXXFLAGS="-arch arm64 -arch x86_64" LINK_EXTRA_FLAGS="-arch arm64 -arch x86_64" SLINK_EXTRA_FLAGS="-arch arm64 -arch x86_64" FPMATH_ENABLED=False' stages: @@ -131,6 +135,8 @@ stages: targetPath: $(Build.ArtifactStagingDirectory) artifactName: 'Windows64' + + - stage: Package jobs: - job: NuGet64 @@ -171,7 +177,7 @@ stages: workingDirectory: $(Agent.TempDirectory)\package arguments: $(Agent.TempDirectory)\package - $(ReleaseVersion) + $(NightlyVersion) $(Build.Repository.Uri) $(Build.SourceBranchName) $(Build.SourceVersion) @@ -181,13 +187,17 @@ stages: displayName: 'NuGet Pack Symbols' inputs: command: custom - arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.sym.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out' + versioningScheme: byPrereleaseNumber + majorVersion: $(Major) + minorVersion: $(Minor) + patchVersion: $(Patch) + arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.sym.nuspec -Version $(NightlyVersion) -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out' - task: EsrpCodeSigning@1 displayName: 'Sign Package' inputs: ConnectedServiceName: 'z3-esrp-signing-2' FolderPath: $(Build.ArtifactStagingDirectory) - Pattern: Microsoft.Z3.$(ReleaseVersion).nupkg + Pattern: Microsoft.Z3.$(NightlyVersion).nupkg signConfigType: 'inlineSignParams' inlineOperation: | [ @@ -214,7 +224,7 @@ stages: inputs: ConnectedServiceName: 'z3-esrp-signing-2' FolderPath: $(Build.ArtifactStagingDirectory) - Pattern: Microsoft.Z3.$(ReleaseVersion).snupkg + Pattern: Microsoft.Z3.$(NightlyVersion).snupkg signConfigType: 'inlineSignParams' inlineOperation: | [ @@ -269,7 +279,7 @@ stages: workingDirectory: $(Agent.TempDirectory)\package arguments: $(Agent.TempDirectory)\package - $(ReleaseVersion) + $(NightlyVersion) $(Build.Repository.Uri) $(Build.SourceBranchName) $(Build.SourceVersion) @@ -280,13 +290,17 @@ stages: displayName: 'NuGet Pack Symbols' inputs: command: custom - arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.x86.sym.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out' + versioningScheme: byPrereleaseNumber + majorVersion: $(Major) + minorVersion: $(Minor) + patchVersion: $(Patch) + arguments: 'pack $(Agent.TempDirectory)\package\out\Microsoft.Z3.x86.sym.nuspec -Version $(NightlyVersion) -OutputDirectory $(Build.ArtifactStagingDirectory) -Verbosity detailed -Symbols -SymbolPackageFormat snupkg -BasePath $(Agent.TempDirectory)\package\out' - task: EsrpCodeSigning@1 displayName: 'Sign Package' inputs: ConnectedServiceName: 'z3-esrp-signing-2' FolderPath: $(Build.ArtifactStagingDirectory) - Pattern: Microsoft.Z3.x86.$(ReleaseVersion).nupkg + Pattern: Microsoft.Z3.x86.$(NightlyVersion).nupkg signConfigType: 'inlineSignParams' inlineOperation: | [ @@ -313,7 +327,7 @@ stages: inputs: ConnectedServiceName: 'z3-esrp-signing-2' FolderPath: $(Build.ArtifactStagingDirectory) - Pattern: Microsoft.Z3.x86.$(ReleaseVersion).snupkg + Pattern: Microsoft.Z3.x86.$(NightlyVersion).snupkg signConfigType: 'inlineSignParams' inlineOperation: | [ @@ -449,5 +463,41 @@ stages: isDraft: false isPreRelease: true +- stage: NugetPublishNightly + jobs: + # Publish to nightly feed on Azure + - job: NuGetPublishNightly + displayName: "Push nuget packages to Azure Feed" + steps: + - task: NuGetAuthenticate@0 + displayName: 'NuGet Authenticate' + - task: NuGetToolInstaller@0 + inputs: + versionSpec: 5.x + checkLatest: false + - task: DownloadPipelineArtifact@2 + displayName: 'Download NuGet x86 Package' + inputs: + artifact: 'NuGet32' + path: $(Agent.TempDirectory)/x86 + - task: DownloadPipelineArtifact@2 + displayName: 'Download NuGet x64 Package' + inputs: + artifact: 'NuGet' + path: $(Agent.TempDirectory)/x64 + - task: NuGetCommand@2 + displayName: 'NuGet Nightly x64 push' + inputs: + command: push + publishVstsFeed: 'Z3Build/Z3-Nightly-builds' + packagesToPush: $(Agent.TempDirectory)/x64/*.nupkg + allowPackageConflicts: true + - task: NuGetCommand@2 + displayName: 'NuGet Nightly x86 push' + inputs: + command: push + publishVstsFeed: 'Z3Build/Z3-Nightly-builds' + packagesToPush: $(Agent.TempDirectory)/x86/*.nupkg + allowPackageConflicts: true # TBD: run regression tests on generated binaries. diff --git a/src/api/dotnet/NativeSolver.cs b/src/api/dotnet/NativeSolver.cs index 40444804a..7dc937234 100644 --- a/src/api/dotnet/NativeSolver.cs +++ b/src/api/dotnet/NativeSolver.cs @@ -405,7 +405,7 @@ namespace Microsoft.Z3 internal NativeSolver(NativeContext nativeCtx, Z3_solver z3solver) { - Debug.Assert(nCtx != IntPtr.Zero); + Debug.Assert(nativeCtx != null); Debug.Assert(z3solver != IntPtr.Zero); this.ntvContext = nativeCtx;