From 63fb6a6646460b3c726af3b9cc2fccd56264158e Mon Sep 17 00:00:00 2001 From: Chirag Pandya Date: Mon, 14 Oct 2024 09:36:57 -0700 Subject: [PATCH] migrate circeci to github actions Summary: Migrate circleci to github actions. Test Plan: Test on github. Reviewers: Subscribers: Tasks: Tags: --- .github/workflows/build.yaml | 76 ++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000..2aaf9c93 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,76 @@ +name: CI +on: + push: + branches: + - main + pull_request: + +jobs: + windows_build: + runs-on: windows-latest + env: + gtest_lib_path: c:/googletest + libuv_path: c:/libuv + steps: + - uses: conda-incubator/setup-miniconda@v3 + with: + miniconda-version: "latest" + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v2 + - name: Checkout code + uses: actions/checkout@v4 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: '3.10' + - name: Add conda to system path + run: | + # $CONDA is an environment variable pointing to the root of the miniconda directory + echo $CONDA/bin >> $GITHUB_PATH + - name: Conda info + shell: bash -l {0} + run: conda info + - name: Setup build environment + run: | + conda create -n py376_build python=3.7.6 + conda activate py376_build + conda install cmake + - name: Install libuv + run: | + conda activate py376_build + curl https://dist.libuv.org/dist/v1.38.0/libuv-v1.38.0.tar.gz --output libuv-v1.38.0.tar.gz + tar xzvf libuv-v1.38.0.tar.gz + cd libuv-v1.38.0 + mkdir -p build + cd build + mkdir -p ${{ env.gtest_lib_path }} + cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.libuv_path }} + msbuild INSTALL.vcxproj + - name: Install googletest + run: | + conda activate py376_build + curl https://codeload.github.com/google/googletest/tar.gz/release-1.10.0 --output googletest-release-1.10.0.tar.gz + tar xzvf googletest-release-1.10.0.tar.gz + cd googletest-release-1.10.0 + mkdir -p build + cd build + mkdir -p ${{ env.gtest_lib_path }} + cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.gtest_lib_path }} -Dgtest_force_shared_crt=ON + msbuild INSTALL.vcxproj + - name: Build + run: | + conda activate py376_build + git submodule sync + git submodule update --init --recursive + mkdir -p build + cd build + cmake .. \ + -DBUILD_TEST=ON \ + -Dlibuv_ROOT=${{ env.libuv_path }} \ + -DGTEST_LIBRARY=${{ env.gtest_lib_path }}/lib/gtestd.lib \ + -DGTEST_INCLUDE_DIR=${{ env.gtest_lib_path }}/include \ + -DGTEST_MAIN_LIBRARY=${{ env.gtest_lib_path }}/lib/gtest_maind.lib + msbuild ALL_BUILD.vcxproj + - name: Test + run: | + build/gloo/test/Debug/gloo_test.exe