Add macos tests to circleci (#7536)

Summary:
as title

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7536

Test Plan: see the new `build-macos` tests pass in circleci

Reviewed By: jay-zhuang

Differential Revision: D24243218

Pulled By: cheng-chang

fbshipit-source-id: 9b5f8a859e54c99a9ebe7efff6f336458a5d42de
This commit is contained in:
Cheng Chang 2020-10-12 10:45:21 -07:00 committed by Facebook GitHub Bot
parent 75d3b6fdf0
commit cb2581031a
2 changed files with 39 additions and 1 deletions

View File

@ -10,9 +10,26 @@ aliases:
only_for_branches: master only_for_branches: master
commands: commands:
install-pyenv-on-macos:
steps:
- run:
name: Install pyenv on macos
command: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install pyenv
increase-max-open-files-on-macos:
steps:
- run:
name: Increase max open files
command: |
sudo sysctl -w kern.maxfiles=1048576
sudo sysctl -w kern.maxfilesperproc=1048576
sudo launchctl limit maxfiles 1048576
pre-steps: pre-steps:
steps: steps:
- checkout - checkout
- run: pyenv install --skip-existing 3.5.9
- run: pyenv global 3.5.9 - run: pyenv global 3.5.9
- run: - run:
name: Setup Environment Variables name: Setup Environment Variables
@ -46,6 +63,13 @@ commands:
name: Install gflags name: Install gflags
command: | command: |
sudo apt-get update -y && sudo apt-get install -y libgflags-dev sudo apt-get update -y && sudo apt-get install -y libgflags-dev
install-gflags-on-macos:
steps:
- run:
name: Install gflags on macos
command: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install gflags
install-gtest-parallel: install-gtest-parallel:
steps: steps:
@ -63,6 +87,17 @@ executors:
shell: bash.exe shell: bash.exe
jobs: jobs:
build-macos:
macos:
xcode: 11.3.0
steps:
- increase-max-open-files-on-macos
- install-pyenv-on-macos
- pre-steps
- install-gflags-on-macos
- run: ulimit -S -n 1048576 && OPT=-DCIRCLECI make V=1 J=32 -j32 check | .circleci/cat_ignore_eagain
- post-steps
build-linux: build-linux:
machine: machine:
image: ubuntu-1604:202007-01 image: ubuntu-1604:202007-01
@ -419,3 +454,6 @@ workflows:
build-linux-gcc-4-8: build-linux-gcc-4-8:
jobs: jobs:
- build-linux-gcc-4-8 - build-linux-gcc-4-8
build-macos:
jobs:
- build-macos

View File

@ -59,7 +59,7 @@ TEST_F(RateLimiterTest, Modes) {
} }
} }
#if !(defined(TRAVIS) && defined(OS_MACOSX)) #if !((defined(TRAVIS) || defined(CIRCLECI)) && defined(OS_MACOSX))
TEST_F(RateLimiterTest, Rate) { TEST_F(RateLimiterTest, Rate) {
auto* env = Env::Default(); auto* env = Env::Default();
struct Arg { struct Arg {