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

Fix and optimize the Release CI workflow. #4373

Merged
merged 6 commits into from
Sep 20, 2023
Merged
Show file tree
Hide file tree
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
127 changes: 63 additions & 64 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,73 +52,72 @@ stages:
TILEDB_HDFS: ON
TILEDB_STATIC: OFF
TILEDB_SERIALIZATION: ON
TILEDB_FORCE_BUILD_DEPS: ON
MACOSX_DEPLOYMENT_TARGET: 10.14
SUDO: 'sudo'
jobs:
- job:
timeoutInMinutes: 90
strategy:
matrix:
macOS:
imageName: 'macos-11'
CXX: clang++
ARTIFACT_OS: 'macos'
ARTIFACT_ARCH: 'x86_64'
CMAKE_OSX_ARCHITECTURES: "x86_64"
macOS_arm64:
imageName: 'macos-11'
CXX: clang++
ARTIFACT_OS: 'macos'
ARTIFACT_ARCH: 'arm64'
TILEDB_GCS: OFF
TILEDB_WERROR: OFF
CMAKE_OSX_ARCHITECTURES: "arm64"
BUILD_MAGIC_MACOS_UNIVERSAL: "ON"
MACOSX_DEPLOYMENT_TARGET: 11
pool:
vmImage: $(imageName)
steps:
- template: scripts/azure-linux_mac-release.yml
- job: linux_manylinux
timeoutInMinutes: 90
pool: { vmImage: 'ubuntu-20.04' }
container: ${{ variables.MANYLINUX_IMAGE }}
strategy:
matrix:
standard:
CXX: g++
CFLAGS: "-lrt"
CXXFLAGS: "-lrt"
ARTIFACT_OS: 'linux'
ARTIFACT_ARCH: "x86_64"
TILEDB_AVX2: ON
SUDO: ''
noavx2:
CXX: g++
CFLAGS: "-lrt"
CXXFLAGS: "-lrt"
ARTIFACT_OS: 'linux'
ARTIFACT_ARCH: "x86_64-noavx2"
TILEDB_AVX2: OFF
SUDO: ''
steps:
- template: scripts/azure-linux_mac-release.yml
- job: Windows
timeoutInMinutes: 90
strategy:
matrix:
VS2019:
imageName: 'windows-2019'
# Only S3 variable is currently supported in boostrap powershell
TILEDB_GCS: OFF
TILEDB_HDFS: OFF
ARTIFACT_OS: 'windows'
ARTIFACT_ARCH: 'x86_64'
pool:
vmImage: $(imageName)
steps:
- template: scripts/azure-windows-release.yml
- job:
timeoutInMinutes: 90
strategy:
matrix:
macOS:
imageName: 'macos-11'
CXX: clang++
ARTIFACT_OS: 'macos'
ARTIFACT_ARCH: 'x86_64'
CMAKE_OSX_ARCHITECTURES: "x86_64"
macOS_arm64:
imageName: 'macos-11'
CXX: clang++
ARTIFACT_OS: 'macos'
ARTIFACT_ARCH: 'arm64'
TILEDB_GCS: OFF
TILEDB_WERROR: OFF
CMAKE_OSX_ARCHITECTURES: "arm64"
BUILD_MAGIC_MACOS_UNIVERSAL: "ON"
MACOSX_DEPLOYMENT_TARGET: 11
pool:
vmImage: $(imageName)
steps:
- template: scripts/azure-linux_mac-release.yml
- job: linux_manylinux
timeoutInMinutes: 90
pool: { vmImage: 'ubuntu-20.04' }
container: ${{ variables.MANYLINUX_IMAGE }}
strategy:
matrix:
standard:
CXX: g++
CFLAGS: "-lrt"
CXXFLAGS: "-lrt"
ARTIFACT_OS: 'linux'
ARTIFACT_ARCH: "x86_64"
TILEDB_AVX2: ON
SUDO: ''
noavx2:
CXX: g++
CFLAGS: "-lrt"
CXXFLAGS: "-lrt"
ARTIFACT_OS: 'linux'
ARTIFACT_ARCH: "x86_64-noavx2"
TILEDB_AVX2: OFF
SUDO: ''
steps:
- template: scripts/azure-linux_mac-release.yml
- job: Windows
timeoutInMinutes: 90
strategy:
matrix:
VS2019:
imageName: 'windows-2019'
# Only S3 variable is currently supported in bootstrap powershell
TILEDB_GCS: OFF
TILEDB_HDFS: OFF
ARTIFACT_OS: 'windows'
ARTIFACT_ARCH: 'x86_64'
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
Expand Down
4 changes: 3 additions & 1 deletion cmake/Options/BuildOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
# Note: when adding options, make sure to forward them via INHERITED_CMAKE_ARGS
# in TileDB-Superbuild.cmake.

include(CMakeDependentOption)

option(TILEDB_SUPERBUILD "If true, perform a superbuild (builds all missing dependencies)." ON)
option(TILEDB_VCPKG "If true, use vcpkg to download and build dependencies." ON)
option(TILEDB_FORCE_ALL_DEPS "If true, force superbuild to download and build all dependencies, even those installed on the system." OFF)
cmake_dependent_option(TILEDB_FORCE_ALL_DEPS "If true, force superbuild to download and build all dependencies, even those installed on the system." OFF "NOT TILEDB_VCPKG" OFF)
option(TILEDB_REMOVE_DEPRECATIONS "If true, do not build deprecated APIs." OFF)
option(TILEDB_VERBOSE "Prints TileDB errors with verbosity" OFF)
option(TILEDB_S3 "Enables S3/minio support using aws-cpp-sdk" OFF)
Expand Down
8 changes: 8 additions & 0 deletions cmake/Options/TileDBToolchain.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ else()
CACHE STRING "Vcpkg toolchain file")
endif()

if(APPLE AND NOT DEFINED VCPKG_TARGET_TRIPLET)
if (CMAKE_OSX_ARCHITECTURES STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64|amd64)|(^i.86$)")
set(VCPKG_TARGET_TRIPLET "x64-macos")
elseif (CMAKE_OSX_ARCHITECTURES STREQUAL arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
set(VCPKG_TARGET_TRIPLET "arm64-macos")
endif()
endif()

set(VCPKG_INSTALL_OPTIONS "--no-print-usage")

macro(tiledb_vcpkg_enable_if tiledb_feature vcpkg_feature)
Expand Down
2 changes: 1 addition & 1 deletion scripts/azure-windows-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ steps:
$host.SetShouldExit(3)
}

$bootstrapOptions = "-EnableVerbose -EnableStaticTileDB -EnableBuildDeps"
$bootstrapOptions = "-EnableVerbose -EnableStaticTileDB"
if ($env:TILEDB_S3 -eq "ON") {
$bootstrapOptions = "-EnableS3 " + $bootstrapOptions
}
Expand Down
Loading