mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-29 00:34:03 +00:00
106058c076
Summary: * Largely based on https://github.com/facebook/rocksdb/issues/12085 but grouped into one large workflow because of bad GHA UI design (see comments). * Windows job details consolidated into an action file so that those jobs can easily move between per-pr-push and nightly. * Simplify some handling of "CIRCLECI" environment and add "GITHUB_ACTIONS" in the same places * For jobs that we want to go in pr-jobs or nightly there are disabled "candidate" workflows with draft versions of those jobs. * ARM jobs are disabled waiting on full GHA support. * build-linux-java-static needed some special attention to work, due to GLIBC compatibility issues (see comments). Pull Request resolved: https://github.com/facebook/rocksdb/pull/12163 Test Plan: Nightly jobs can be seen passing between these two links: https://github.com/facebook/rocksdb/actions/runs/7266835435/job/19799390061?pr=12163 https://github.com/facebook/rocksdb/actions/runs/7269697823/job/19807724471?pr=12163 And per-PR jobs of course passing on this PR. Reviewed By: hx235 Differential Revision: D52335810 Pulled By: pdillinger fbshipit-source-id: bbb95196f33eabad8cddf3c6b52f4413c80e034d
45 lines
2.2 KiB
YAML
45 lines
2.2 KiB
YAML
name: windows-build-steps
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.3.1
|
|
- name: Custom steps
|
|
env:
|
|
THIRDPARTY_HOME: ${{ github.workspace }}/thirdparty
|
|
CMAKE_HOME: C:/Program Files/CMake
|
|
CMAKE_BIN: C:/Program Files/CMake/bin/cmake.exe
|
|
CTEST_BIN: C:/Program Files/CMake/bin/ctest.exe
|
|
JAVA_HOME: C:/Program Files/BellSoft/LibericaJDK-8
|
|
SNAPPY_HOME: ${{ github.workspace }}/thirdparty/snappy-1.1.8
|
|
SNAPPY_INCLUDE: ${{ github.workspace }}/thirdparty/snappy-1.1.8;${{ github.workspace }}/thirdparty/snappy-1.1.8/build
|
|
SNAPPY_LIB_DEBUG: ${{ github.workspace }}/thirdparty/snappy-1.1.8/build/Debug/snappy.lib
|
|
run: |-
|
|
echo ===================== Install Dependencies =====================
|
|
choco install liberica8jdk -y
|
|
mkdir $Env:THIRDPARTY_HOME
|
|
cd $Env:THIRDPARTY_HOME
|
|
echo "Building Snappy dependency..."
|
|
curl -Lo snappy-1.1.8.zip https://github.com/google/snappy/archive/refs/tags/1.1.8.zip
|
|
unzip -q snappy-1.1.8.zip
|
|
cd snappy-1.1.8
|
|
mkdir build
|
|
cd build
|
|
& cmake -G "$Env:CMAKE_GENERATOR" ..
|
|
msbuild Snappy.sln -maxCpuCount -property:Configuration=Debug -property:Platform=x64
|
|
echo ======================== Build RocksDB =========================
|
|
cd ${{ github.workspace }}
|
|
$env:Path = $env:JAVA_HOME + ";" + $env:Path
|
|
mkdir build
|
|
cd build
|
|
& cmake -G "$Env:CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE=Debug -DOPTDBG=1 -DPORTABLE="$Env:CMAKE_PORTABLE" -DSNAPPY=1 -DJNI=1 ..
|
|
cd ..
|
|
echo "Building with VS version: $Env:CMAKE_GENERATOR"
|
|
msbuild build/rocksdb.sln -maxCpuCount -property:Configuration=Debug -property:Platform=x64
|
|
echo ========================= Test RocksDB =========================
|
|
build_tools\run_ci_db_test.ps1 -SuiteRun arena_test,db_basic_test,db_test,db_test2,db_merge_operand_test,bloom_test,c_test,coding_test,crc32c_test,dynamic_bloom_test,env_basic_test,env_test,hash_test,random_test -Concurrency 16
|
|
echo ======================== Test RocksJava ========================
|
|
cd build\java
|
|
& ctest -C Debug -j 16
|
|
shell: pwsh
|