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 nightly.yaml for Azure Pipelines #7139

Merged
merged 8 commits into from
Feb 24, 2024
Merged
Changes from all commits
Commits
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
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
Loading