[build] Trigger CI to build #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ververica/forst/pr-jobs | |
on: [push, pull_request] | |
jobs: | |
# ======================== Fast Initial Checks ====================== # | |
check-format-and-targets: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.1.0 | |
with: | |
fetch-depth: 0 # Need full checkout to determine merge base | |
fetch-tags: true | |
- uses: "./.github/actions/setup-upstream" | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
- name: Install Dependencies | |
run: python -m pip install --upgrade pip | |
- name: Install argparse | |
run: pip install argparse | |
- name: Download clang-format-diff.py | |
run: wget https://raw.githubusercontent.com/llvm/llvm-project/release/12.x/clang/tools/clang-format/clang-format-diff.py | |
- name: Check format | |
run: VERBOSE_CHECK=1 make check-format | |
- name: Simple source code checks | |
run: make check-sources | |
# ========================= Linux With Tests ======================== # | |
build-linux: | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v4.1.0 | |
- uses: "./.github/actions/pre-steps" | |
- uses: "./.github/actions/install-gflags" | |
- run: echo "JAVA_HOME=${JAVA_HOME}" | |
- run: DISABLE_WARNING_AS_ERROR=1 make V=1 J=8 -j8 check | |
- uses: "./.github/actions/post-steps" | |
# ======================== Linux No Test Runs ======================= # | |
build-linux-release: | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v4.1.0 | |
- uses: "./.github/actions/install-gflags" | |
- run: echo "JAVA_HOME=${JAVA_HOME}" | |
- run: echo 'export PATH=$JAVA_HOME/bin:$PATH' >> $GITHUB_PATH | |
- run: DISABLE_WARNING_AS_ERROR=1 make V=1 -j32 LIB_MODE=shared release | |
- run: ls librocksdb.so | |
- run: "./db_stress --version" | |
- run: DISABLE_WARNING_AS_ERROR=1 make clean | |
- run: DISABLE_WARNING_AS_ERROR=1 make V=1 -j32 release | |
- run: ls librocksdb.a | |
- run: "./db_stress --version" | |
- run: DISABLE_WARNING_AS_ERROR=1 make clean | |
- run: sudo apt-get remove -y libgflags-dev | |
- run: DISABLE_WARNING_AS_ERROR=1 make V=1 -j32 LIB_MODE=shared release | |
- run: ls librocksdb.so | |
- run: if ./db_stress --version; then false; else true; fi | |
- run: DISABLE_WARNING_AS_ERROR=1 make clean | |
- run: DISABLE_WARNING_AS_ERROR=1 make V=1 -j32 release | |
- run: ls librocksdb.a | |
- run: if ./db_stress --version; then false; else true; fi | |
- uses: "./.github/actions/post-steps" | |
# ============================ Java Jobs ============================ # | |
build-linux-java: | |
runs-on: ubuntu-latest | |
container: evolvedbinary/rocksjava:centos6_x64-be | |
steps: | |
# The docker image is intentionally based on an OS that has an older GLIBC version. | |
# That GLIBC is incompatibile with GitHub's actions/checkout. Thus we implement a manual checkout step. | |
- name: Checkout | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
chown `whoami` . || true | |
git clone --no-checkout https://oath2:$GH_TOKEN@github.com/${{ github.repository }}.git . | |
git -c protocol.version=2 fetch --update-head-ok --no-tags --prune --no-recurse-submodules --depth=1 origin +${{ github.sha }}:${{ github.ref }} | |
git checkout --progress --force ${{ github.ref }} | |
git log -1 --format='%H' | |
- uses: "./.github/actions/pre-steps" | |
- name: Set Java Environment | |
run: |- | |
echo "JAVA_HOME=${JAVA_HOME}" | |
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> $GITHUB_PATH | |
which java && java -version | |
which javac && javac -version | |
- name: Test RocksDBJava | |
run: scl enable devtoolset-7 'DISABLE_WARNING_AS_ERROR=1 make V=1 J=8 -j8 jtest' | |
# NOTE: post-steps skipped because of compatibility issues with docker image | |
build-linux-java-static: | |
runs-on: ubuntu-latest | |
container: evolvedbinary/rocksjava:centos6_x64-be | |
steps: | |
# The docker image is intentionally based on an OS that has an older GLIBC version. | |
# That GLIBC is incompatibile with GitHub's actions/checkout. Thus we implement a manual checkout step. | |
- name: Checkout | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
chown `whoami` . || true | |
git clone --no-checkout https://oath2:$GH_TOKEN@github.com/${{ github.repository }}.git . | |
git -c protocol.version=2 fetch --update-head-ok --no-tags --prune --no-recurse-submodules --depth=1 origin +${{ github.sha }}:${{ github.ref }} | |
git checkout --progress --force ${{ github.ref }} | |
git log -1 --format='%H' | |
- uses: "./.github/actions/pre-steps" | |
- name: Set Java Environment | |
run: |- | |
echo "JAVA_HOME=${JAVA_HOME}" | |
which java && java -version | |
which javac && javac -version | |
- name: Build RocksDBJava Static Library | |
run: scl enable devtoolset-7 'DISABLE_WARNING_AS_ERROR=1 make V=1 J=8 -j8 rocksdbjavastatic' | |
# NOTE: post-steps skipped because of compatibility issues with docker image | |
# ========================= MacOS build only ======================== # | |
build-macos: | |
runs-on: macos-13 | |
timeout-minutes: 120 | |
env: | |
ROCKSDB_DISABLE_JEMALLOC: 1 | |
steps: | |
- uses: actions/checkout@v4.1.0 | |
- uses: maxim-lobanov/setup-xcode@v1.6.0 | |
with: | |
xcode-version: 14.3.1 | |
- uses: "./.github/actions/increase-max-open-files-on-macos" | |
- uses: "./.github/actions/install-gflags-on-macos" | |
- uses: "./.github/actions/pre-steps-macos" | |
- name: Build | |
run: ulimit -S -n `ulimit -H -n` && DISABLE_WARNING_AS_ERROR=1 make V=1 J=16 -j16 all | |
- uses: "./.github/actions/post-steps" | |
# ========================= MacOS with java ======================== # | |
build-macos-java: | |
runs-on: macos-13 | |
env: | |
JAVA_HOME: "/Library/Java/JavaVirtualMachines/liberica-jdk-8.jdk/Contents/Home" | |
ROCKSDB_DISABLE_JEMALLOC: 1 | |
steps: | |
- uses: actions/checkout@v4.1.0 | |
- uses: maxim-lobanov/setup-xcode@v1.6.0 | |
with: | |
xcode-version: 14.3.1 | |
- uses: "./.github/actions/increase-max-open-files-on-macos" | |
- uses: "./.github/actions/install-gflags-on-macos" | |
- uses: "./.github/actions/install-jdk8-on-macos" | |
- uses: "./.github/actions/pre-steps-macos" | |
- name: Set Java Environment | |
run: |- | |
echo "JAVA_HOME=${JAVA_HOME}" | |
which java && java -version | |
which javac && javac -version | |
- name: Test RocksDBJava | |
run: DISABLE_WARNING_AS_ERROR=1 make V=1 J=16 -j16 jtest | |
- uses: "./.github/actions/post-steps" | |
build-macos-java-static: | |
runs-on: macos-13 | |
env: | |
JAVA_HOME: "/Library/Java/JavaVirtualMachines/liberica-jdk-8.jdk/Contents/Home" | |
steps: | |
- uses: actions/checkout@v4.1.0 | |
- uses: maxim-lobanov/setup-xcode@v1.6.0 | |
with: | |
xcode-version: 14.3.1 | |
- uses: "./.github/actions/increase-max-open-files-on-macos" | |
- uses: "./.github/actions/install-gflags-on-macos" | |
- uses: "./.github/actions/install-jdk8-on-macos" | |
- uses: "./.github/actions/pre-steps-macos" | |
- name: Set Java Environment | |
run: |- | |
echo "JAVA_HOME=${JAVA_HOME}" | |
which java && java -version | |
which javac && javac -version | |
- name: Build RocksDBJava x86 and ARM Static Libraries | |
run: DISABLE_WARNING_AS_ERROR=1 make V=1 J=16 -j16 rocksdbjavastaticosx | |
- uses: "./.github/actions/post-steps" |