https://github.com/apple/swift
Raw File
Tip revision: e429d1f1aaf59e69d38207a96e56265c7f6fccec authored by Mishal Shah on 04 February 2019, 07:37:31 UTC
Change version string to 'swift-4.2.2-RELEASE'
Tip revision: e429d1f
build-presets.ini
#===--- build-presets.ini - Option presets for building Swift --------------===#
#
## This source file is part of the Swift.org open source project
##
## Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
## Licensed under Apache License v2.0 with Runtime Library Exception
##
## See https://swift.org/LICENSE.txt for license information
## See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
#
#===------------------------------------------------------------------------===#

#===------------------------------------------------------------------------===#
# Buildbots for Darwin OSes
#===------------------------------------------------------------------------===#
[preset: mixin_buildbot_install_components]
dash-dash

swift-install-components=compiler;clang-builtin-headers;stdlib;sdk-overlay;editor-integration;tools;testsuite-tools;sourcekit-xpc-service;swift-remote-mirror;swift-remote-mirror-headers;


[preset: mixin_buildbot_trunk_base]
# Build standard library and SDK overlay for iOS device and simulator.
ios
tvos
watchos
test
validation-test
lit-args=-v
compiler-vendor=apple

dash-dash

verbose-build
build-ninja

# Build static standard library because it is used
# to build external projects.
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra

install-swift

# Path to the root of the installation filesystem.
install-destdir=%(install_destdir)s

# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s

# If someone uses this for incremental builds, force reconfiguration.
reconfigure

[preset: buildbot,tools=RA,stdlib=RD,test=no]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false

# Disable osx tests.
skip-test-osx

# Disable non-x86.
skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
stdlib-deployment-targets=macosx-x86_64
swift-primary-variant-sdk=OSX
swift-primary-variant-arch=x86_64

[preset: mixin_buildbot_tools_RA_stdlib_RDA]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release
assertions
# Also run tests in optimized modes.
test-optimized
test-optimize-for-size

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

# This is a release non-incremental build. Run sil-verify-all.
sil-verify-all

[preset: mixin_buildbot_tools_RDA_stdlib_RDA]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release-debuginfo
assertions
# Also run tests in optimized modes.
test-optimized

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

# This is a release non-incremental build. Run sil-verify-all.
sil-verify-all

[preset: mixin_buildbot_tools_RA_stdlib_RD]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release
assertions
# Also run tests in optimized modes.
test-optimized
test-optimize-for-size

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false

[preset: mixin_buildbot_tools_R_stdlib_RD]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release
no-assertions

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false

[preset: mixin_buildbot_tools_RA_stdlib_DA]
mixin-preset=
    mixin_buildbot_trunk_base
    mixin_buildbot_install_components

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

swift-stdlib-build-type=Debug
swift-stdlib-enable-assertions=true


[preset: buildbot,tools=RA,stdlib=DA]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_DA

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RA,stdlib=RD]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RD

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RA,stdlib=RD,single-thread]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RD

dash-dash

# Enable non-atomic build of the stdlib
swift-stdlib-use-nonatomic-rc=true

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=R,stdlib=RD]
mixin-preset=
    mixin_buildbot_tools_R_stdlib_RD

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host


[preset: buildbot,tools=RA,stdlib=RDA]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RDA

dash-dash

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host


[preset: buildbot,tools=RA,stdlib=RDA,long_test]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RDA

test=0
validation-test=0
long-test=1
stress-test=1
test-optimized=0


[preset: buildbot,tools=RA-flto,stdlib=RDA]
mixin-preset=
    mixin_buildbot_tools_RA_stdlib_RDA

lto

dash-dash

build-swift-static-stdlib
build-swift-static-sdk-overlay

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RDA-flto,stdlib=RDA]
mixin-preset=
    mixin_buildbot_tools_RDA_stdlib_RDA

lto

dash-dash

build-swift-static-stdlib
build-swift-static-sdk-overlay

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host

[preset: buildbot,tools=RA,stdlib=RDA,sil-ownership]
mixin-preset=
    buildbot,tools=RA,stdlib=RDA
build-subdir=Ninja-ReleaseAssert+stdlib-RelWithDebInfo+sil-ownership
enable-sil-ownership
dash-dash

# This is a mixin preset which builds and smoke-tests lldb.
[preset: lldb-smoketest,tools=RA]
# Build LLDB
lldb

dash-dash

# Use the system debugserver to run the lldb swift tests
lldb-no-debugserver
lldb-use-system-debugserver
lldb-build-type=Release
lldb-test-swift-only
lldb-assertions

#===------------------------------------------------------------------------===#
# Incremental buildbots for Darwin OSes
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental_base]
test
validation-test
lit-args=-v

compiler-vendor=apple

dash-dash

# On buildbots, always force a reconfiguration to make sure we pick up changes
# in the build-script and build-presets.ini.
reconfigure

verbose-build
build-ninja

build-swift-stdlib-unittest-extra


[preset: buildbot_incremental_base_all_platforms]
mixin-preset=buildbot_incremental_base

# Build standard library and SDK overlay for iOS device and simulator.

ios
tvos
watchos

[preset: buildbot_incremental,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm

# Build Playground support
playgroundsupport

dash-dash

# Only run OS X tests to make the build cycle faster.
# We still build the iOS standard library though -- it is free given the
# parallelism.
skip-test-ios
skip-test-tvos
skip-test-watchos

[preset: buildbot_incremental,tools=RA,stdlib=RA,xcode]
mixin-preset=buildbot_incremental,tools=RA,stdlib=RA
build-subdir=buildbot_incremental_xcode

xcode
dash-dash
# We do not support building cross compiled stdlibs on OS X with Xcode. So only
# build the OS X SDK.
skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
stdlib-deployment-targets=macosx-x86_64
swift-primary-variant-sdk=OSX
swift-primary-variant-arch=x86_64
skip-build-llbuild
skip-test-llbuild
skip-build-swiftpm
skip-test-swiftpm
skip-build-playgroundsupport
skip-test-playgroundsupport

# This preset is used by CI to test swift-corelibs-xctest.
[preset: buildbot_incremental,tools=RA,stdlib=RA,XCTest]
# We don't use buildbot_incremental_base_all_platforms because we don't need to
# build for iOS/tvOS.
mixin-preset=buildbot_incremental_base

# Build and test XCTest. On Linux, the build script is aware of the dependency
# on Foundation, so that is built as well. On OS X, Foundation is built as part
# of the XCTest Xcode project.
xctest

dash-dash

# This preset is meant to test XCTest, not Swift or Foundation. We don't
# want stochastic failures in those test suites to prevent XCTest tests from
# being run.
skip-test-cmark
skip-test-swift
skip-test-libdispatch
skip-test-foundation

# This preset may be used by swift-corelibs-xctest contributors when building
# locally. It takes less time than the CI preset, but is less reliable at
# clearing out cached build products.
[preset: corelibs-xctest]
release
assertions
xctest
test

dash-dash

skip-test-cmark
skip-test-swift
skip-test-foundation
skip-build-benchmarks

[preset: buildbot_incremental_asan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental_asan

# Build Release with debug info, so that we can symbolicate backtraces.
release-debuginfo
assertions

dash-dash

# FIXME: Swift/ASan does not support iOS yet.
skip-build-ios
skip-test-ios

# FIXME: Swift/ASan does not support tvos yet.
skip-build-tvos
skip-test-tvos

# FIXME: Swift/ASan does not support watchos yet.
skip-build-watchos
skip-test-watchos

enable-asan

[preset: buildbot_incremental_tsan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental_tsan

# Build Release with debug info, so that we can symbolicate backtraces.
release-debuginfo
assertions
enable-tsan

dash-dash

skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos

[preset: buildbot_incremental_asan_ubsan,tools=RDA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental_asan_ubsan

# Build Release with debug info, so that we can symbolicate backtraces.
release-debuginfo
assertions

dash-dash

# FIXME: Swift/UBSan does not support mac os x yet.
skip-build-osx
skip-test-osx

# FIXME: Swift/ASan does not support iOS yet.
skip-build-ios
skip-test-ios

# FIXME: Swift/ASan does not support tvos yet.
skip-build-tvos
skip-test-tvos

# FIXME: Swift/ASan does not support watchos yet.
skip-build-watchos
skip-test-watchos

enable-asan
enable-ubsan

[preset: buildbot_incremental_asan,tools=DA,stdlib=RDA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental_asan_debug

# Build Release with debug info, so that we can symbolicate backtraces.
assertions

dash-dash

# FIXME: Swift/ASan does not support iOS yet.
skip-build-ios
skip-test-ios

# FIXME: Swift/ASan does not support tvos yet.
skip-build-tvos
skip-test-tvos

# FIXME: Swift/ASan does not support watchos yet.
skip-build-watchos
skip-test-watchos

enable-asan

swift-stdlib-build-type=RelWithDebInfo


[preset: buildbot_incremental,tools=RA,stdlib=RD,smoketest=macosx]
mixin-preset=
    buildbot_incremental_base
    lldb-smoketest,tools=RA
build-subdir=buildbot_incremental

# We build release+asserts.
release
assertions

# We run the OS X tests and validation tests.
test
validation-test

llvm-targets-to-build=X86

# Set the vendor to apple
compiler-vendor=apple

dash-dash

# Always reconfigure cmake
reconfigure

# We want to always perform a verbose build
verbose-build

# Build ninja while we are at it
build-ninja

# We need to build the unittest extras so we can test
build-swift-stdlib-unittest-extra

# Make sure our stdlib is RA.
swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

# Disable non-x86 building/testing.
skip-build-ios
skip-test-ios
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
stdlib-deployment-targets=macosx-x86_64
swift-primary-variant-sdk=OSX
swift-primary-variant-arch=x86_64

# Don't build the benchmarks
skip-build-benchmarks

[preset: buildbot_incremental,tools=RA,stdlib=RD,smoketest=macosx,flto]
mixin-preset=buildbot_incremental,tools=RA,stdlib=RD,smoketest=macosx
build-subdir=buildbot_incremental

lto

dash-dash

[preset: buildbot_incremental,tools=RA,llvm-only]
build-subdir=buildbot_incremental_llvmonly

# Build Release without debug info, because it is faster to build.
release-debug
assertions
test=0
lit-args=-v

compiler-vendor=apple

dash-dash

llvm-include-tests
reconfigure
verbose-build
build-ninja

# Do not build swift or cmark
skip-build-swift
skip-build-cmark

#===------------------------------------------------------------------------===#
# A setting to run a buildbot that passes extra swift args when compiling
# modules that match regexp.
#
# This is currently used to run non-default pass orderings to stress the
# optimizer. See utils/pass-pipeline.
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental_extra_swift_args,tools=RA,stdlib=RD]
build-subdir=buildbot_incremental_extra_swift_args
# Build standard library and SDK overlay for iOS device and simulator.
test
validation-test
extra-swift-args=%(extra_swift_args)s
release
assertions
compiler-vendor=apple

dash-dash

# On buildbots, always force a reconfiguration to make sure we pick up changes
# in the build-script and build-presets.ini.
reconfigure

verbose-build
build-ninja

build-swift-stdlib-unittest-extra

skip-build-ios
skip-test-ios
skip-build-lldb

sil-verify-all

#===------------------------------------------------------------------------===#
# Convenience aliases
#
# Do not use on buildbots!
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental]
mixin-preset=buildbot_incremental,tools=RA,stdlib=RA

[preset: asan]
mixin-preset=buildbot_incremental_asan,tools=RDA,stdlib=RDA

#===------------------------------------------------------------------------===#
# Special Runtime Builders
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental_leaks]
compiler-vendor=apple
dash-dash

# Disable ios. These builders are x86 only.
skip-ios
skip-tvos
skip-watchos
# Disable x86 testing. skip-ios disables testing of ios as well.
skip-test-osx

# Always reconfigure so we pick up changes in the build-script and
# build-presets.ini.
reconfigure
verbose-build
build-ninja
build-swift-stdlib-unittest-extra
swift-runtime-enable-leak-checker

[preset: buildbot_incremental_leaks,tools=RA,stdlib=R]
mixin-preset=buildbot_incremental_leaks
build-subdir=buildbot_incremental_leaks_RA_R

# Build release+asserts
release
assertions

dash-dash

# We want our stdlib to not have assertions.
swift-stdlib-enable-assertions=false

[preset: buildbot_incremental_leaks,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_leaks
build-subdir=buildbot_incremental_leaks_RA_RA

# Build release+asserts
release
assertions

#===------------------------------------------------------------------------===#
# Package Builders
#===------------------------------------------------------------------------===#

# A mixin that enables 'lightweight' assertions that don't slow down the
# compiler significantly.
[preset: mixin_lightweight_assertions]
assertions
no-swift-stdlib-assertions

# FIXME: This should be:
# no-assertions
# swift-assertions
# ... but our tests are expecting assertions to be either on or off everywhere.

dash-dash

# AST verifier slows down the compiler significantly.
swift-enable-ast-verifier=0

#===------------------------------------------------------------------------===#
# Linux Builders
#===------------------------------------------------------------------------===#
[preset: mixin_linux_installation]
mixin-preset=mixin_lightweight_assertions

llbuild
swiftpm
xctest
dash-dash

build-ninja
install-swift
install-lldb
install-llbuild
install-swiftpm
install-xctest
install-prefix=/usr
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;license;sourcekit-inproc
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra

# Executes the lit tests for the installable package that is created
# Assumes the swift-integration-tests repo is checked out

test-installable-package

# Path to the root of the installation filesystem.
install-destdir=%(install_destdir)s

# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s

[preset: buildbot_linux]
mixin-preset=mixin_linux_installation
build-subdir=buildbot_linux
lldb
release
test
validation-test
long-test
stress-test
test-optimized
foundation
libdispatch
lit-args=-v

dash-dash

# rdar://problem/31454823
skip-test-lldb

install-foundation
install-libdispatch
reconfigure


# Linux package with out test
[preset: buildbot_linux,no_test]
mixin-preset=buildbot_linux

dash-dash

skip-test-cmark
skip-test-lldb
skip-test-swift
skip-test-llbuild
skip-test-swiftpm
skip-test-xctest
skip-test-foundation
skip-test-libdispatch
skip-test-playgroundsupport
skip-test-libicu


# Ubuntu 16.10 preset for backwards compat and future customizations.
[preset: buildbot_linux_1610]
mixin-preset=buildbot_linux

# Ubuntu 16.04 preset for backwards compat and future customizations.
[preset: buildbot_linux_1604]
mixin-preset=buildbot_linux

# Ubuntu 15.10 preset for backwards compat and future customizations.
[preset: buildbot_linux_1510]
mixin-preset=buildbot_linux

# Ubuntu 14.04 preset for backwards compat and future customizations.
[preset: buildbot_linux_1404]
mixin-preset=buildbot_linux

[preset: buildbot_linux,smoketest]
mixin-preset=mixin_linux_installation
build-subdir=buildbot_linux
lldb
release
test
validation-test
foundation
libdispatch
lit-args=-v

dash-dash

install-foundation
install-libdispatch
reconfigure
skip-test-lldb


[preset: buildbot_linux_1404_no_lldb]
mixin-preset=buildbot_incremental_linux
build-subdir=buildbot_linux
release
test
validation-test
long-test
stress-test
foundation
lit-args=-v

[preset: buildbot_linux_armv7]
release
llbuild
lldb
# Not all tests pass, currently
#test
foundation
swiftpm
xctest

build-subdir=buildbot_linux

dash-dash

install-swift
install-lldb
install-llbuild
install-foundation
install-swiftpm
install-xctest
install-prefix=/usr
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;swift-remote-mirror;sdk-overlay;dev
build-swift-static-stdlib
build-swift-static-sdk-overlay

skip-test-lldb

# Executes the lit tests for the installable package that is created
# Assumes the swift-package-tests repo is checked out
# FIXME: Disabled until a home for the swift-snapshot-tests can be found.
#test-installable-package

# Path to the root of the installation filesystem.
install-destdir=%(install_destdir)s

# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s

[preset: buildbot_incremental_linux_base]
assertions
release
test
validation-test
lit-args=-v

dash-dash

build-ninja
reconfigure

[preset: buildbot_incremental_linux]
mixin-preset=buildbot_incremental_linux_base
build-subdir=buildbot_incremental

llbuild
swiftpm
xctest
foundation
libdispatch
dash-dash

[preset: buildbot_incremental_linux,long_test]
mixin-preset=buildbot_incremental_linux

test=0
validation-test=0
long-test=1
stress-test=1
test-optimized=0

[preset: buildbot_incremental_linux,llvm-only]
mixin-preset=buildbot_incremental_linux_base
build-subdir=buildbot_incremental_llvmonly

test=0
validation-test=0
long-test=0
stress-test=0
test-optimized=0

dash-dash

skip-build-swift
skip-build-cmark
llvm-include-tests

[preset: buildbot_incremental_linux,asan]
mixin-preset=buildbot_incremental_linux
build-subdir=buildbot_incremental_asan

enable-asan

# This does not currently pass due to leakers in the optimizer.
[preset: buildbot_incremental_linux,lsan,tools=RDA,stdlib=RDA,test=no]
build-subdir=buildbot_incremental_lsan

release-debuginfo
assertions
enable-lsan

dash-dash

build-ninja
reconfigure

[preset: buildbot_incremental_linux,lsan,tools=RDA,stdlib=DA,test=no]
build-subdir=buildbot_incremental_lsan

release-debuginfo
assertions
enable-lsan
debug-swift-stdlib

dash-dash

build-ninja
reconfigure

#===------------------------------------------------------------------------===#
# OS X Package Builders
#===------------------------------------------------------------------------===#
[preset: mixin_osx_package_base]
ios
tvos
watchos

lldb
llbuild
swiftpm
playgroundsupport

# Build with debug info, this allows us to symbolicate crashes from
# production builds.
release-debuginfo
compiler-vendor=apple

dash-dash

lldb-no-debugserver
lldb-use-system-debugserver
lldb-build-type=Release
verbose-build
build-ninja
build-swift-static-stdlib
build-swift-static-sdk-overlay
build-swift-stdlib-unittest-extra
playgroundsupport-build-type=Release

install-swift
install-lldb
install-llbuild
install-swiftpm
install-playgroundsupport

install-destdir=%(install_destdir)s

darwin-install-extract-symbols

# Path where debug symbols will be installed.
install-symroot=%(install_symroot)s

# Path where the compiler, the runtime and the standard libraries will be
# installed.
install-prefix=%(install_toolchain_dir)s/usr

# Executes the lit tests for the installable package that is created
# Assumes the swift-integration-tests repo is checked out

test-installable-package

# If someone uses this for incremental builds, force reconfiguration.
reconfigure

swift-install-components=compiler;clang-builtin-headers;stdlib;swift-syntax;sdk-overlay;license;sourcekit-xpc-service;swift-remote-mirror;swift-remote-mirror-headers
llvm-install-components=libclang;libclang-headers

# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s

# Path to the .tar.gz symbols package
symbols-package=%(symbols_package)s

# Info.plist
darwin-toolchain-bundle-identifier=%(darwin_toolchain_bundle_identifier)s
darwin-toolchain-display-name=%(darwin_toolchain_display_name)s
darwin-toolchain-display-name-short=%(darwin_toolchain_display_name_short)s
darwin-toolchain-name=%(darwin_toolchain_xctoolchain_name)s
darwin-toolchain-version=%(darwin_toolchain_version)s
darwin-toolchain-alias=%(darwin_toolchain_alias)s

[preset: mixin_osx_package_test]
build-subdir=buildbot_osx

ios
tvos
watchos
test
validation-test
long-test
stress-test

dash-dash

skip-test-lldb

# Path to the .tar.gz package we would create.
installable-package=%(installable_package)s


[preset: buildbot_osx_package]
mixin-preset=
    mixin_osx_package_base
    mixin_osx_package_test
    mixin_lightweight_assertions


[preset: buildbot_osx_package,no_assertions]
mixin-preset=
    mixin_osx_package_base
    mixin_osx_package_test

dash-dash

no-assertions


# Debug version of the compilers, release version of the stdlib.
[preset: buildbot_osx_package,tools=DA,stdlib=R]
mixin-preset=buildbot_osx_package

build-subdir=buildbot_osx_debug

release-debuginfo
assertions
debug-llvm
debug-swift
no-swift-stdlib-assertions


# macOS package with out test
[preset: buildbot_osx_package,no_test]
mixin-preset=
    buildbot_osx_package

dash-dash

skip-test-swift
skip-test-swiftpm
skip-test-llbuild
skip-test-lldb
skip-test-cmark
skip-test-playgroundsupport


#===------------------------------------------------------------------------===#
# LLDB build configurations
#
# Use to build the compiler sources nested in LLDB.
#
# This is only used from Xcode, and expects the following configuration:
## an argument, swift_install_destdir=[path for Swift installed products]
## an environment variable, SWIFT_SOURCE_ROOT=[parent of swift/]
## an environment variable, SWIFT_BUILD_ROOT=[parent of Swift build directory]
#===------------------------------------------------------------------------===#

[preset: LLDB_Nested]
dash-dash
skip-build-benchmarks
install-destdir=%(swift_install_destdir)s
llvm-targets-to-build=X86;ARM;AArch64;PowerPC;SystemZ;Mips

[preset: LLDB_Swift_DebugAssert]
mixin-preset=
    LLDB_Nested

assertions

[preset: LLDB_Swift_DebugAssert_asan]
mixin-preset=
    LLDB_Swift_DebugAssert

enable-asan

[preset: LLDB_Swift_DebugAssert_with_devices]
mixin-preset=
    LLDB_Swift_DebugAssert

ios
tvos
watchos
build-swift-static-stdlib
build-swift-static-sdk-overlay

[preset: LLDB_Swift_ReleaseAssert]
mixin-preset=
    LLDB_Nested

release-debuginfo
assertions

[preset: LLDB_Swift_ReleaseAssert_asan]
mixin-preset=
    LLDB_Swift_ReleaseAssert

enable-asan

[preset: LLDB_Swift_ReleaseAssert_with_devices]
mixin-preset=
    LLDB_Swift_ReleaseAssert

ios
tvos
watchos
build-swift-static-stdlib
build-swift-static-sdk-overlay

#===------------------------------------------------------------------------===#
# Test all platforms on OS X builder
#===------------------------------------------------------------------------===#

[preset: buildbot_all_platforms,tools=RA,stdlib=RA]
mixin-preset=
    buildbot_incremental_base_all_platforms
    lldb-smoketest,tools=RA

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm
swiftsyntax

# Build Playground support
playgroundsupport

dash-dash

# Run the SIL verifier after each transform when building swift files
sil-verify-all

# Don't run host tests for iOS, tvOS and watchOS platforms to make the build
# faster.
skip-test-ios-host
skip-test-tvos-host
skip-test-watchos-host


#===------------------------------------------------------------------------===#
# Test watchOS on OS X builder
#===------------------------------------------------------------------------===#

[preset: buildbot_watch_platform,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base_all_platforms

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm

dash-dash

# Only run watchOS tests
skip-test-ios
skip-test-tvos
skip-test-osx


#===------------------------------------------------------------------------===#
# Test swiftPM on macOS builder
#===------------------------------------------------------------------------===#

[preset: buildbot_swiftpm_macos_platform,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm

dash-dash

skip-test-swift
skip-test-cmark
skip-test-llbuild

#===------------------------------------------------------------------------===#
# Test llbuild on macOS builder
#===------------------------------------------------------------------------===#

[preset: buildbot_llbuild_macos_platform,tools=RA,stdlib=RA]
mixin-preset=buildbot_incremental_base

build-subdir=buildbot_incremental

# Build Release without debug info, because it is faster to build.
release
assertions

# Build llbuild & swiftpm here
llbuild
swiftpm

dash-dash

skip-test-swift
skip-test-cmark

#===------------------------------------------------------------------------===#
# Remote Mirror Library
#===------------------------------------------------------------------------===#

[preset: mixin_remote_mirror_base]
no-assertions
swift-assertions

clang-user-visible-version=9.1.0

compiler-vendor=apple
dash-dash

build-ninja
release-debuginfo
reconfigure
swift-install-components=swift-remote-mirror
install-destdir=%(install_destdir)s
install-symroot=%(install_symroot)s
darwin-install-extract-symbols=1
skip-build-cmark
skip-build-llvm
skip-build-llbuild
skip-build-swiftpm
skip-build-benchmarks
install-swift
install-prefix=%(install_toolchain_dir)s/usr
build-swift-examples=0
build-swift-tools=0
build-swift-static-stdlib=0
build-swift-dynamic-stdlib=0
build-swift-static-sdk-overlay=0
build-swift-dynamic-sdk-overlay=0
swift-include-tests=0
llvm-include-tests=0

[preset: remote_mirror_ios_customization]

dash-dash

darwin-xcrun-toolchain=ios
darwin-deployment-version-ios=11.0
skip-build-osx
skip-test-osx
skip-build-tvos
skip-test-tvos
skip-build-watchos
skip-test-watchos
swift-sdks=IOS
swift-primary-variant-sdk=IOS
swift-primary-variant-arch=arm64
build-subdir=swift_remote_mirror_ios

[preset: remote_mirror_ios]
mixin-preset=
    mixin_remote_mirror_base
    remote_mirror_ios_customization

[preset: remote_mirror_watchos_customization]

dash-dash

darwin-xcrun-toolchain=watchos
darwin-deployment-version-watchos=4.0
skip-build-osx
skip-test-osx
skip-build-tvos
skip-test-tvos
skip-build-ios
skip-test-ios
swift-sdks=WATCHOS
swift-primary-variant-sdk=WATCHOS
swift-primary-variant-arch=armv7k
build-subdir=swift_remote_mirror_watchos

[preset: remote_mirror_watchos]
mixin-preset=
    mixin_remote_mirror_base
    remote_mirror_watchos_customization

[preset: remote_mirror_tvos_customization]

dash-dash

darwin-xcrun-toolchain=tvos
darwin-deployment-version-tvos=11.0
skip-build-osx
skip-test-osx
skip-build-watchos
skip-test-watchos
skip-build-ios
skip-test-ios
swift-sdks=TVOS
swift-primary-variant-sdk=TVOS
swift-primary-variant-arch=arm64
build-subdir=swift_remote_mirror_tvos

[preset: remote_mirror_tvos]
mixin-preset=
    mixin_remote_mirror_base
    remote_mirror_tvos_customization


#===------------------------------------------------------------------------===#
# Mixin for buildbots for CI
#===------------------------------------------------------------------------===#
[preset: mixin_buildbot_incremental,build]
build-subdir=buildbot_incremental
compiler-vendor=apple

# Build standard library and SDK overlay for iOS device and simulator.

ios
tvos
watchos

dash-dash

# On buildbots, always force a reconfiguration to make sure we pick up changes
# in the build-script and build-presets.ini.
reconfigure

verbose-build
build-ninja
build-swift-stdlib-unittest-extra
skip-build-benchmarks

[preset: mixin_buildbot_incremental,test=macOS,type=device]

test
validation-test
lit-args=-v

dash-dash

skip-test-ios
skip-test-tvos
skip-test-watchos
skip-reconfigure

[preset: mixin_buildbot_incremental,test=iOS,type=simulator]

test
validation-test
lit-args=-v

dash-dash

skip-test-osx
skip-test-tvos
skip-test-watchos
skip-reconfigure

[preset: mixin_buildbot_incremental,test=tvOS,type=simulator]
test
validation-test
lit-args=-v

dash-dash

skip-test-osx
skip-test-watchos
skip-test-ios
skip-reconfigure

[preset: mixin_buildbot_incremental,test=watchOS,type=simulator]

test
validation-test
lit-args=-v

dash-dash

skip-test-osx
skip-test-tvos
skip-test-ios
skip-reconfigure

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: Release and DebInfo
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=RD,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=macOS,type=device

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=iOS,type=simulator

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

[preset: buildbot_incremental,tools=RA,stdlib=RD,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RD,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: Release, DebInfo and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=RDA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

# This is a release non-incremental build. Run sil-verify-all.
sil-verify-all

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=macOS,type=device

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=iOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RDA,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RDA,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

test-optimized

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: DebInfo and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=DA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=false

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=macOS,type=device

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=iOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=DA,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=DA,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

test-optimized

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: Release and Assertions
# stdlib: Release and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=RA,stdlib=RA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release
assertions

dash-dash

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=macOS,type=device]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=macOS,type=device

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=iOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=iOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=tvOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=tvOS,type=simulator

test-optimized

[preset: buildbot_incremental,tools=RA,stdlib=RA,test=watchOS,type=simulator]
mixin-preset=
    buildbot_incremental,tools=RA,stdlib=RA,build
    mixin_buildbot_incremental,test=watchOS,type=simulator

test-optimized

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: DebInfo and Assertions
# stdlib: Release and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=DA,stdlib=RA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release-debuginfo
assertions
debug-llvm
debug-swift

dash-dash

#===------------------------------------------------------------------------===#
# Swift Preset
# Tools: DebInfo and Assertions
# stdlib: DebInfo and Assertions
#===------------------------------------------------------------------------===#
[preset: buildbot_incremental,tools=DA,stdlib=DA,build]
mixin-preset=mixin_buildbot_incremental,build

# Build Release without debug info, because it is faster to build.
release-debuginfo
assertions
debug-llvm
debug-swift

dash-dash

swift-stdlib-build-type=RelWithDebInfo
swift-stdlib-enable-assertions=true

#===------------------------------------------------------------------------===#
# Swift Coverage Preset
#===------------------------------------------------------------------------===#

[preset: buildbot_incremental,tools=RDA,stdlib=RDA,coverage]
build-subdir=buildbot_incremental_coverage
release-debuginfo
assertions
swift-analyze-code-coverage=not-merged
test
validation-test
skip-test-ios
skip-test-tvos
skip-test-watchos
skip-build-benchmark
verbose-build
lit-args=-v
reconfigure
build-ninja

#===------------------------------------------------------------------------===#
# iOS arm64 cross compiler
#===------------------------------------------------------------------------===#
[preset: buildbot_iphoneos_arm64_crosscompiler]

build-subdir=LLVMClangSwift_iphoneos
release

dash-dash

cross-compile-hosts=iphoneos-arm64
compiler-vendor=apple
swift-primary-variant-sdk=IOS
swift-primary-variant-arch=arm64
extra-cmake-options=-DLLVM_ENABLE_BACKTRACES:BOOL=OFF

build-toolchain-only=1
build-swift-static-stdlib=0
build-swift-dynamic-stdlib=0
build-swift-static-sdk-overlay=0
build-swift-dynamic-sdk-overlay=0
build-runtime-with-host-compiler=0
skip-build-benchmarks
llvm-include-tests=0
llvm-enable-modules=0
build-swift-examples=0
swift-include-tests=0
darwin-deployment-version-ios=10.0
darwin-crash-reporter-client=1
back to top