trigger: branches: include: - dev - release-* - refs/tags/* pr: branches: include: - '*' # must quote since "*" is a YAML reserved character; we want a string stages: - stage: CI condition: and(not(startsWith(variables['Build.SourceBranch'], 'refs/tags')), not(startsWith(variables['Build.SourceBranchName'], 'build-'))) variables: BACKWARDS_COMPATIBILITY_ARRAYS: OFF jobs: - job: timeoutInMinutes: 90 strategy: matrix: linux_s3: imageName: 'ubuntu-16.04' TILEDB_S3: ON TILEDB_STATIC: OFF TILEDB_TOOLS: ON CXX: g++ linux_hdfs: imageName: 'ubuntu-16.04' TILEDB_HDFS: ON CXX: g++ linux_azure: imageName: 'ubuntu-16.04' TILEDB_AZURE: ON TILEDB_STATIC: OFF TILEDB_ARROW_TESTS: ON CXX: g++ linux_gcs: imageName: 'ubuntu-16.04' TILEDB_GCS: ON TILEDB_STATIC: OFF CXX: g++ macOS: imageName: 'macOS-10.14' TILEDB_S3: ON TILEDB_ARROW_TESTS: ON CXX: clang++ macOS_azure: imageName: 'macOS-10.15' TILEDB_AZURE: ON TILEDB_SERIALIZATION: ON CXX: clang++ macOS_gcs: imageName: 'macOS-10.14' TILEDB_GCS: ON TILEDB_MEMFS: ON CXX: clang++ linux_asan: imageName: 'ubuntu-16.04' TILEDB_MEMFS: ON TILEDB_CI_ASAN: ON TILEDB_SERIALIZATION: ON CXX: g++-7 linux_serialization: imageName: 'ubuntu-16.04' TILEDB_SERIALIZATION: ON TILEDB_S3: ON CXX: g++ BACKWARDS_COMPATIBILITY_ARRAYS: ON pool: vmImage: $(imageName) steps: - template: scripts/azure-linux_mac.yml #- job: CentOS6_manylinux1 # container: # image: quay.io/pypa/manylinux1_x86_64:2020-12-05-08e76f2 # variables: # CXX: g++ # TILEDB_FORCE_BUILD_DEPS: ON # TILEDB_BUILD_ENABLE: "s3,azure,serialization,static-tiledb" # steps: # - template: scripts/azure-centos6.yml - job: Windows strategy: matrix: VS2017: imageName: 'vs2017-win2016' TILEDB_S3: ON TILEDB_ARROW_TESTS: ON pool: vmImage: $(imageName) steps: - template: scripts/azure-windows.yml - stage: Build_Release condition: or(or(or(startsWith(variables['Build.SourceBranch'], 'refs/tags'), eq(variables['Build.SourceBranchName'], 'dev')), startsWith(variables['Build.SourceBranchName'], 'release-')), startsWith(variables['Build.SourceBranchName'], 'build-')) variables: TILEDB_S3: ON TILEDB_AZURE: ON TILEDB_GCS: ON TILEDB_HDFS: ON TILEDB_STATIC: OFF TILEDB_SERIALIZATION: ON TILEDB_FORCE_BUILD_DEPS: ON MACOSX_DEPLOYMENT_TARGET: 10.13 jobs: - job: strategy: matrix: linux: imageName: 'ubuntu-16.04' CXX: g++ ARTIFACT_OS: 'linux' ARTIFACT_EXTRAS: 'full' macOS: imageName: 'macOS-10.14' CXX: clang++ ARTIFACT_OS: 'macos' ARTIFACT_EXTRAS: 'full' pool: vmImage: $(imageName) steps: - template: scripts/azure-linux_mac-release.yml - job: Windows strategy: matrix: VS2017: imageName: 'vs2017-win2016' # Only S3 variable is currently supported in boostrap powershell TILEDB_S3: ON # TILEDB_AZURE: OFF # TILEDB_GCS: OFF # TILEDB_HDFS: OFF TILEDB_STATIC: OFF # TILEDB_SERIALIZATION: OFF TILEDB_FORCE_BUILD_DEPS: ON ARTIFACT_OS: 'windows' ARTIFACT_EXTRAS: 'full' pool: vmImage: $(imageName) steps: - template: scripts/azure-windows-release.yml # NOTE: this section cannot be conditional because `Build.Repository.Name` is an agent-scoped variable. - stage: Github_Release condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') jobs: - job: steps: # First download artifacts - task: DownloadBuildArtifacts@0 inputs: downloadType: 'specific' - script: | echo $sourceVersion commitHash=${sourceVersion:0:7} echo $commitHash echo "##vso[task.setvariable variable=commitHash]$commitHash" ## Set variable for using in other tasks. env: { sourceVersion: $(Build.SourceVersion) } displayName: Git Hash 7-digit - task: GithubRelease@0 condition: succeeded() # only run this job if the build step succeeded displayName: 'Add artifacts to GitHub Release' inputs: gitHubConnection: TileDB-Inc-Release repositoryName: TileDB-Inc/TileDB addChangeLog: false action: edit tag: $(Build.SourceBranchName) assets: | $(Build.ArtifactStagingDirectory)/full/*