Skip to content

Commit

Permalink
Update nightly.yaml for Azure Pipelines (#7139)
Browse files Browse the repository at this point in the history
* Update nightly.yaml for Azure Pipelines

match nightly builds to release builds

* Fix nightly.yaml

* fix indent

* fix indent

* Update nightly.yaml

* Update nightly.yaml

* Update nightly.yaml for Azure Pipelines

* Update nightly.yaml for Azure Pipelines

---------

Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
  • Loading branch information
jfleisher and NikolajBjorner authored Feb 24, 2024
1 parent 19f5e7f commit 85425a6
Showing 1 changed file with 119 additions and 90 deletions.
209 changes: 119 additions & 90 deletions scripts/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,41 @@ variables:
Patch: '6'
ReleaseVersion: $(Major).$(Minor).$(Patch)
AssemblyVersion: $(Major).$(Minor).$(Patch).$(Build.BuildId)
NightlyVersion: $(AssemblyVersion)-$(Build.DefinitionName)
NightlyVersion: $(AssemblyVersion)-$(Build.buildId)

stages:
- stage: Build
jobs:
- job: Mac
displayName: "Mac Build"
- job: MacBuild
displayName: "macOS Build"
pool:
vmImage: "macOS-11"
steps:
- script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
- task: PythonScript@0
displayName: Build
inputs:
scriptSource: 'filepath'
scriptPath: scripts/mk_unix_dist.py
arguments: --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
- script: git clone https://github.com/z3prover/z3test z3test
- script: python z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2
- script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/.
- task: PublishPipelineArtifact@1
displayName: 'Clone z3test'
- task: PythonScript@0
displayName: Test
inputs:
scriptSource: 'filepath'
scriptPath: z3test/scripts/test_benchmarks.py
arguments: build-dist/z3 z3test/regressions/smt2
- task: CopyFiles@2
inputs:
artifactName: 'Mac'
sourceFolder: dist
contents: '*.zip'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'macOSBuild'
targetPath: $(Build.ArtifactStagingDirectory)

- job: MacArm64
- job: MacBuildArm64
displayName: "Mac ARM64 Build"
pool:
vmImage: "macOS-11"
Expand All @@ -36,67 +51,76 @@ stages:
artifactName: 'MacArm64'
targetPath: $(Build.ArtifactStagingDirectory)

- job: Ubuntu20
displayName: "Ubuntu20 build"
- job: UbuntuBuild
displayName: "Ubuntu build"
pool:
vmImage: "ubuntu-latest"
steps:
- task: PythonScript@0
displayName: Build
inputs:
scriptSource: 'filepath'
scriptPath: scripts/mk_unix_dist.py
arguments: --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
- script: git clone https://github.com/z3prover/z3test z3test
displayName: 'Clone z3test'
- task: PythonScript@0
displayName: Test
inputs:
scriptSource: 'filepath'
scriptPath: z3test/scripts/test_benchmarks.py
arguments: build-dist/z3 z3test/regressions/smt2
- task: CopyFiles@2
inputs:
sourceFolder: dist
contents: '*.zip'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'UbuntuBuild'
targetPath: $(Build.ArtifactStagingDirectory)

- job: UbuntuBuild20
displayName: "Ubuntu build 20"
pool:
vmImage: "ubuntu-20.04"
steps:
- script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
- task: PythonScript@0
displayName: Build
inputs:
scriptSource: 'filepath'
scriptPath: scripts/mk_unix_dist.py
arguments: --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk
- script: git clone https://github.com/z3prover/z3test z3test
- script: python z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2
- script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/.
displayName: 'Clone z3test'
- task: PythonScript@0
displayName: Test
inputs:
scriptSource: 'filepath'
scriptPath: z3test/scripts/test_benchmarks.py
arguments: build-dist/z3 z3test/regressions/smt2
- task: CopyFiles@2
inputs:
sourceFolder: dist
contents: '*.zip'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'Ubuntu-20.04'
artifactName: 'UbuntuBuild20'
targetPath: $(Build.ArtifactStagingDirectory)

- job: UbuntuBuilds
displayName: "Ubuntu Builds"
- job: UbuntuArm64
displayName: "Ubuntu ARM64 build"
pool:
vmImage: "ubuntu-latest"
strategy:
matrix:
arm64:
setupcmds: 'sudo apt update& sudo apt install gcc-arm-none-eabi gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu g++-aarch64-linux-gnu ninja-build -y'
buildenv: 'CXX=aarch64-linux-gnu-g++ CC=aarch64-linux-gnu-gcc'
arch: 'arm64'
name: 'z3-$(AssemblyVersion)-arm64-ubuntu-22'
compiler: 'aarch64-linux-gnu-g++-11'
x64:
setupcmds: 'sudo apt update& sudo apt install ninja-build -y'
buildenv: ''
arch: 'x64'
name: 'z3-$(AssemblyVersion)-x64-ubuntu-22'
compiler: 'g++'
steps:
- script: $(setupcmds)
- script: |
mkdir $(arch)
cd $(arch)
$(buildenv) cmake \
-DCMAKE_BUILD_TYPE=Release\
-DCMAKE_CXX_COMPILER=$(compiler)\
-DZ3_BUILD_DOTNET_BINDINGS=ON\
-DZ3_INSTALL_DOTNET_BINDINGS=ON \
-DZ3_BUILD_JAVA_BINDINGS=ON\
-DZ3_INSTALL_JAVA_BINDINGS=ON\
-DZ3_JAVA_JAR_INSTALLDIR=bin\
-DZ3_JAVA_JNI_LIB_INSTALLDIR=bin\
-DZ3_BUILD_PYTHON_BINDINGS=ON\
-DZ3_INSTALL_PYTHON_BINDINGS=ON\
-DCMAKE_INSTALL_PYTHON_PKG_DIR=bin/python\
-DCMAKE_INSTALL_PREFIX=$(name)\
-G "Ninja" ../
ninja install
cp -r Microsoft.Z3 $(name)/bin/.
cp $(name)/lib/libz3.so $(name)/bin/.
rm -rf $(name)/lib
zip -r $(name).zip $(name)
cd ..
- script: cp $(arch)/*.zip $(Build.ArtifactStagingDirectory)/.
- script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk --arch=arm64
- script: git clone https://github.com/z3prover/z3test z3test
- script: python z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2
- script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/.
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'ubuntu-$(arch)'
artifactName: 'UbuntuArm64'
targetPath: $(Build.ArtifactStagingDirectory)

- job: UbuntuDoc
Expand Down Expand Up @@ -134,36 +158,51 @@ stages:
inputs:
artifactName: 'UbuntuDoc'
targetPath: $(Build.ArtifactStagingDirectory)

- job: ManyLinuxBuild

- job: LinuxBuilds
displayName: "ManyLinux build"
variables:
python: "/opt/python/cp37-cp37m/bin/python"
name: ManyLinux
displayName: "ManyLinux build"
python: "/opt/python/cp37-cp37m/bin/python"
pool:
vmImage: "ubuntu-latest"
container: "quay.io/pypa/manylinux2014_x86_64:latest"
steps:
- script: $(python) scripts/mk_unix_dist.py --nodotnet --nojava
- task: PythonScript@0
displayName: Build
inputs:
scriptSource: 'filepath'
scriptPath: scripts/mk_unix_dist.py
arguments: --nodotnet --nojava
pythonInterpreter: $(python)
- script: git clone https://github.com/z3prover/z3test z3test
- script: $(python) z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2
- script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/
displayName: 'Clone z3test'
- task: PythonScript@0
displayName: Test
inputs:
scriptSource: 'filepath'
scriptPath: z3test/scripts/test_benchmarks.py
arguments: build-dist/z3 z3test/regressions/smt2
pythonInterpreter: $(python)
- task: CopyFiles@2
inputs:
sourceFolder: dist
contents: '*.zip'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishPipelineArtifact@0
inputs:
artifactName: '$(name)Build'
artifactName: 'ManyLinuxBuild'
targetPath: $(Build.ArtifactStagingDirectory)

- template: build-win-signed-cmake.yml
- template: build-win-signed.yml
parameters:
ReleaseVersion: $(ReleaseVersion)
BuildArchitecture: 'x86'
VCArchitecture: 'x86'
BuildArchitecture: 'x64'

- template: build-win-signed-cmake.yml
- template: build-win-signed.yml
parameters:
ReleaseVersion: $(ReleaseVersion)
BuildArchitecture: 'x64'
VCArchitecture: 'x64'
BuildArchitecture: 'x86'

- template: build-win-signed-cmake.yml
parameters:
Expand Down Expand Up @@ -192,22 +231,17 @@ stages:
- task: DownloadPipelineArtifact@2
displayName: 'Download Ubuntu 20.04 Build'
inputs:
artifact: 'Ubuntu-20.04'
artifact: 'UbuntuBuild20'
path: $(Agent.TempDirectory)\package
- task: DownloadPipelineArtifact@2
displayName: 'Download Ubuntu ARM64 Build'
inputs:
artifact: 'ubuntu-arm64'
path: $(Agent.TempDirectory)\package
- task: DownloadPipelineArtifact@2
displayName: 'Download Ubuntu Build'
inputs:
artifact: 'ubuntu-x64'
path: $(Agent.TempDirectory)\package
artifact: 'UbuntuArm64'
path: $(Agent.TempDirectory)\package
- task: DownloadPipelineArtifact@2
displayName: 'Download macOS Build'
inputs:
artifact: 'Mac'
artifact: 'macOsBuild'
path: $(Agent.TempDirectory)\package
- task: DownloadPipelineArtifact@2
displayName: 'Download macOS Arm64 Build'
Expand Down Expand Up @@ -427,7 +461,7 @@ stages:
targetPath: $(Agent.TempDirectory)
- task: DownloadPipelineArtifact@2
inputs:
artifactName: 'Mac'
artifactName: 'macOsBuild'
targetPath: $(Agent.TempDirectory)
- task: DownloadPipelineArtifact@2
inputs:
Expand Down Expand Up @@ -480,7 +514,7 @@ stages:
- task: DownloadPipelineArtifact@2
displayName: "Download Mac"
inputs:
artifactName: 'Mac'
artifactName: 'macOsBuild'
targetPath: tmp
- task: DownloadPipelineArtifact@2
displayName: "Download MacArm64"
Expand All @@ -490,17 +524,12 @@ stages:
- task: DownloadPipelineArtifact@2
displayName: "Download Ubuntu Arm64"
inputs:
artifactName: 'ubuntu-arm64'
targetPath: tmp
- task: DownloadPipelineArtifact@2
displayName: "Download Ubuntu"
inputs:
artifactName: 'ubuntu-x64'
artifactName: 'UbuntuArm64'
targetPath: tmp
- task: DownloadPipelineArtifact@2
displayName: "Download Ubuntu-20.04"
inputs:
artifactName: 'Ubuntu-20.04'
artifactName: 'UbuntuBuild20'
targetPath: tmp
- task: DownloadPipelineArtifact@2
displayName: "Download Doc"
Expand Down

0 comments on commit 85425a6

Please sign in to comment.