6a8ddd374d
Summary: Moving towards the long term goal of moving most CI build to CircleCI when possible, add some Linux tests in CircleCI. This is not all what we can include to CircleCI. For example, Java builds are not includ ed. Pull Request resolved: https://github.com/facebook/rocksdb/pull/6937 Test Plan: Watch CI build results. Reviewed By: pdillinger Differential Revision: D21941605 fbshipit-source-id: db6aead3c45f523386d4fb30d224cfde573cccad
132 lines
4.2 KiB
YAML
132 lines
4.2 KiB
YAML
version: 2.1
|
|
|
|
orbs:
|
|
win: circleci/windows@2.4.0
|
|
|
|
executors:
|
|
windows-2xlarge:
|
|
machine:
|
|
image: 'windows-server-2019-vs2019:201908-06'
|
|
resource_class: windows.2xlarge
|
|
shell: bash.exe
|
|
|
|
jobs:
|
|
build-linux:
|
|
machine:
|
|
image: ubuntu-1604:201903-01
|
|
resource_class: 2xlarge
|
|
steps:
|
|
- checkout # check out the code in the project directory
|
|
- run: pyenv global 3.5.2
|
|
- run: sudo apt-get update -y
|
|
- run: sudo apt-get install -y libgflags-dev
|
|
- run: SKIP_FORMAT_BUCK_CHECKS=1 PRINT_PARALLEL_OUTPUTS=1 make J=32 all check -j32
|
|
|
|
build-linux-release:
|
|
machine:
|
|
image: ubuntu-1604:201903-01
|
|
resource_class: 2xlarge
|
|
steps:
|
|
- checkout # check out the code in the project directory
|
|
- run: make release -j32
|
|
|
|
build-linux-lite:
|
|
machine:
|
|
image: ubuntu-1604:201903-01
|
|
resource_class: 2xlarge
|
|
steps:
|
|
- checkout # check out the code in the project directory
|
|
- run: pyenv global 3.5.2
|
|
- run: SKIP_FORMAT_BUCK_CHECKS=1 PRINT_PARALLEL_OUTPUTS=1 LITE=1 make J=32 all check -j32
|
|
|
|
build-linux-lite-release:
|
|
machine:
|
|
image: ubuntu-1604:201903-01
|
|
resource_class: large
|
|
steps:
|
|
- checkout # check out the code in the project directory
|
|
- run: make release -j32
|
|
|
|
build-linux-clang-no-test:
|
|
machine:
|
|
image: ubuntu-1604:201903-01
|
|
resource_class: 2xlarge
|
|
steps:
|
|
- checkout # check out the code in the project directory
|
|
- run: USE_CLANG=1 make all -j32
|
|
|
|
build-linux-cmake:
|
|
machine:
|
|
image: ubuntu-1604:201903-01
|
|
resource_class: 2xlarge
|
|
steps:
|
|
- checkout # check out the code in the project directory
|
|
- run: mkdir build && cd build && cmake -DWITH_GFLAGS=0 .. && make -j32
|
|
|
|
build-windows:
|
|
executor: windows-2xlarge
|
|
|
|
environment:
|
|
THIRDPARTY_HOME: C:/Users/circleci/thirdparty
|
|
CMAKE_HOME: C:/Users/circleci/thirdparty/cmake-3.16.4-win64-x64
|
|
CMAKE_BIN: C:/Users/circleci/thirdparty/cmake-3.16.4-win64-x64/bin/cmake.exe
|
|
CMAKE_GENERATOR: Visual Studio 16 2019
|
|
SNAPPY_HOME: C:/Users/circleci/thirdparty/snappy-1.1.7
|
|
SNAPPY_INCLUDE: C:/Users/circleci/thirdparty/snappy-1.1.7;C:/Users/circleci/thirdparty/snappy-1.1.7/build
|
|
SNAPPY_LIB_DEBUG: C:/Users/circleci/thirdparty/snappy-1.1.7/build/Debug/snappy.lib
|
|
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: "Install thirdparty dependencies"
|
|
command: |
|
|
mkdir ${THIRDPARTY_HOME}
|
|
cd ${THIRDPARTY_HOME}
|
|
echo "Installing CMake..."
|
|
curl --fail --silent --show-error --output cmake-3.16.4-win64-x64.zip --location https://github.com/Kitware/CMake/releases/download/v3.16.4/cmake-3.16.4-win64-x64.zip
|
|
unzip -q cmake-3.16.4-win64-x64.zip
|
|
echo "Building Snappy dependency..."
|
|
curl --fail --silent --show-error --output snappy-1.1.7.zip --location https://github.com/google/snappy/archive/1.1.7.zip
|
|
unzip -q snappy-1.1.7.zip
|
|
cd snappy-1.1.7
|
|
mkdir build
|
|
cd build
|
|
${CMAKE_BIN} -G "${CMAKE_GENERATOR}" ..
|
|
msbuild.exe Snappy.sln -maxCpuCount -property:Configuration=Debug -property:Platform=x64
|
|
- run:
|
|
name: "Build RocksDB"
|
|
command: |
|
|
mkdir build
|
|
cd build
|
|
${CMAKE_BIN} -G "${CMAKE_GENERATOR}" -DCMAKE_BUILD_TYPE=Debug -DOPTDBG=1 -DPORTABLE=1 -DSNAPPY=1 -DJNI=1 ..
|
|
cd ..
|
|
msbuild.exe build/rocksdb.sln -maxCpuCount -property:Configuration=Debug -property:Platform=x64
|
|
- run:
|
|
name: "Test RocksDB"
|
|
shell: powershell.exe
|
|
command: |
|
|
build_tools\run_ci_db_test.ps1 -SuiteRun db_basic_test,db_test,db_test2,env_basic_test,env_test,db_merge_operand_test -Concurrency 16
|
|
|
|
workflows:
|
|
build-linux:
|
|
jobs:
|
|
- build-linux
|
|
build-linux-lite:
|
|
jobs:
|
|
- build-linux-lite
|
|
build-linux-release:
|
|
jobs:
|
|
- build-linux-release
|
|
build-linux-lite-release:
|
|
jobs:
|
|
- build-linux-lite-release
|
|
build-linux-clang-no-test:
|
|
jobs:
|
|
- build-linux-clang-no-test
|
|
build-linux-cmake:
|
|
jobs:
|
|
- build-linux-cmake
|
|
build-windows:
|
|
jobs:
|
|
- build-windows
|