diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-03-11 09:39:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-11 09:39:20 +0100 |
commit | d8ef6770bdd3d05be81481e872cfe286f896c700 (patch) | |
tree | aff51271c4bed2e39ff2cdfc2191e0926a8439ec | |
parent | 236c20795eb9f11e21e0719b735ea741711acc08 (diff) | |
parent | 1a71e5c3623c890e25f331a7404792f714c90417 (diff) | |
download | rneovim-d8ef6770bdd3d05be81481e872cfe286f896c700.tar.gz rneovim-d8ef6770bdd3d05be81481e872cfe286f896c700.tar.bz2 rneovim-d8ef6770bdd3d05be81481e872cfe286f896c700.zip |
Merge pull request #22577 from dundargoc/ci/external-deps
ci: test build with external dependencies on every pull request
-rw-r--r-- | .github/actions/cache/action.yml | 2 | ||||
-rw-r--r-- | .github/workflows/build.yml | 43 | ||||
-rw-r--r-- | .github/workflows/test.yml | 60 |
3 files changed, 52 insertions, 53 deletions
diff --git a/.github/actions/cache/action.yml b/.github/actions/cache/action.yml index da36c71a1d..07f8feaa84 100644 --- a/.github/actions/cache/action.yml +++ b/.github/actions/cache/action.yml @@ -16,7 +16,7 @@ runs: # files to search through. - uses: actions/cache@v3 with: - path: ${{ env.DEPS_BUILD_DIR }} + path: .deps key: ${{ env.CACHE_KEY }}-${{ hashFiles('cmake**', 'ci/**', '.github/workflows/test.yml', 'CMakeLists.txt', 'runtime/CMakeLists.txt', 'src/nvim/**/CMakeLists.txt') }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10e3e2bdeb..fa1f74e4d1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -71,46 +71,3 @@ jobs: - name: Install run: make install - - with-external-deps: - runs-on: ubuntu-22.04 - timeout-minutes: 10 - steps: - - uses: actions/checkout@v3 - - - name: Install dependencies - run: | - sudo add-apt-repository ppa:neovim-ppa/stable - ./.github/scripts/install_deps.sh - sudo apt-get install -y \ - libluajit-5.1-dev \ - libmsgpack-dev \ - libtermkey-dev \ - libtree-sitter-dev \ - libunibilium-dev \ - libuv1-dev \ - lua-busted \ - lua-filesystem \ - lua-inspect \ - lua-lpeg \ - lua-nvim \ - luajit - # libvterm-dev \ - # lua-luv-dev - - # Remove comments from packages once we start using these external - # dependencies. - - - name: Build third-party deps - run: | - # Ideally all dependencies should external for this job, but some - # dependencies don't have the required version available. We use the - # bundled versions for these with the hopes of being able to remove them - # later on. - cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED=OFF -D USE_BUNDLED_LUV=ON -D USE_BUNDLED_LIBVTERM=ON - cmake --build .deps - - - name: Build - run: | - cmake -B build -G Ninja - cmake --build build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 22be9bf719..2f2ace522b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,6 @@ env: ASAN_OPTIONS: detect_leaks=1:check_initialization_order=1:handle_abort=1:handle_sigill=1:log_path=${{ github.workspace }}/build/log/asan:intercept_tls_get_addr=0 BIN_DIR: ${{ github.workspace }}/bin BUILD_DIR: ${{ github.workspace }}/build - DEPS_BUILD_DIR: ${{ github.workspace }}/nvim-deps INSTALL_PREFIX: ${{ github.workspace }}/nvim-install LOG_DIR: ${{ github.workspace }}/build/log NVIM_LOG_FILE: ${{ github.workspace }}/build/.nvimlog @@ -72,8 +71,8 @@ jobs: - name: Build third-party deps run: | - cmake -S cmake.deps -B $DEPS_BUILD_DIR -G Ninja - cmake --build $DEPS_BUILD_DIR + cmake -S cmake.deps -B .deps -G Ninja + cmake --build .deps - if: success() || failure() && steps.abort_job.outputs.status == 'success' name: configure @@ -193,8 +192,8 @@ jobs: - name: Build third-party deps run: | - cmake -S cmake.deps -B $DEPS_BUILD_DIR -G Ninja ${{ matrix.deps_flags }} - cmake --build $DEPS_BUILD_DIR + cmake -S cmake.deps -B .deps -G Ninja ${{ matrix.deps_flags }} + cmake --build .deps - name: Build run: | @@ -273,8 +272,8 @@ jobs: - name: Build third-party deps run: | - cmake -S cmake.deps -B $DEPS_BUILD_DIR -G "Ninja Multi-Config" - cmake --build $DEPS_BUILD_DIR + cmake -S cmake.deps -B .deps -G "Ninja Multi-Config" + cmake --build .deps - name: Configure run: cmake -B build -G "Ninja Multi-Config" -D CMAKE_C_COMPILER=gcc @@ -309,8 +308,8 @@ jobs: - name: Build deps run: | - cmake -S cmake.deps -B $env:DEPS_BUILD_DIR -G Ninja -D CMAKE_BUILD_TYPE='RelWithDebInfo' - cmake --build $env:DEPS_BUILD_DIR + cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE='RelWithDebInfo' + cmake --build .deps - name: Build run: | @@ -360,3 +359,46 @@ jobs: $env:PATH = "C:\msys64\usr\bin;$env:PATH" & "C:\msys64\mingw64\bin\mingw32-make.exe" -C $(Convert-Path test\old\testdir) VERBOSE=1 $env:PATH = $OldPath + + with-external-deps: + runs-on: ubuntu-22.04 + timeout-minutes: 10 + steps: + - uses: actions/checkout@v3 + + - name: Install dependencies + run: | + sudo add-apt-repository ppa:neovim-ppa/stable + ./.github/scripts/install_deps.sh + sudo apt-get install -y \ + libluajit-5.1-dev \ + libmsgpack-dev \ + libtermkey-dev \ + libtree-sitter-dev \ + libunibilium-dev \ + libuv1-dev \ + lua-filesystem \ + lua-lpeg \ + lua-mpack \ + luajit + # libvterm-dev \ + # lua-luv-dev + + # Remove comments from packages once we start using these external + # dependencies. + + - uses: ./.github/actions/cache + + - name: Build third-party deps + run: | + # Ideally all dependencies should external for this job, but some + # dependencies don't have the required version available. We use the + # bundled versions for these with the hopes of being able to remove them + # later on. + cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED=OFF -D USE_BUNDLED_LUV=ON -D USE_BUNDLED_LIBVTERM=ON + cmake --build .deps + + - name: Build + run: | + cmake -B build -G Ninja + cmake --build build |