#===--- 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

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

dash-dash

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

[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
build-serialized-stdlib-unittest

[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
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

#===------------------------------------------------------------------------===#
# 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
playgroundlogger
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
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
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
foundation
libdispatch
lit-args=-v

dash-dash

install-foundation
install-libdispatch
reconfigure

# 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
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
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
test-optimized=0

dash-dash

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

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

lldb
llbuild
swiftpm
playgroundlogger
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
playgroundlogger-build-type=Release
playgroundsupport-build-type=Release

install-swift
install-lldb
install-llbuild
install-swiftpm
install-playgroundlogger
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

[preset: mixin_osx_package_test]
build-subdir=buildbot_osx

ios
tvos
watchos
test
validation-test
long-test

dash-dash


# 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

dash-dash

swift-install-components=compiler;clang-builtin-headers;stdlib;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

# 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

#===------------------------------------------------------------------------===#
# 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

[preset: LLDB_Swift_DebugAssert]
mixin-preset=
    LLDB_Nested

assertions

[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_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

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
playgroundlogger
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

# Only run watchOS tests
skip-test-swift


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

[preset: mixin_remote_mirror_base]
no-assertions
swift-assertions

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]

clang-user-visible-version=8.0.0

dash-dash

darwin-xcrun-toolchain=ios
darwin-deployment-version-ios=10.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]

clang-user-visible-version=8.0.0

dash-dash

darwin-xcrun-toolchain=watchos
darwin-deployment-version-watchos=3.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]

clang-user-visible-version=8.0.0

dash-dash

darwin-xcrun-toolchain=tvos
darwin-deployment-version-tvos=10.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

[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

[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

[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

#===------------------------------------------------------------------------===#
# 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
build-serialized-stdlib-unittest

[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
build-serialized-stdlib-unittest

#===------------------------------------------------------------------------===#
# 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
