neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 7d0479c55810af9bf9f115ba69d1419ea81ec41e
parent a1b045f60a22d366e255dfff1c54ed42ebe49284
Author: dundargoc <33953936+dundargoc@users.noreply.github.com>
Date:   Wed, 26 Apr 2023 23:22:12 +0200

ci: containerize the external dependencies test

Cirrus ci automatically pushes/caches docker images, which makes
containerization much simpler to handle. Moving this job to cirrus ci
shortens the job by a minute, and reduces github actions CI usage by two
minutes per PR.
Diffstat:
M.cirrus.yml | 14++++++++++++++
M.github/workflows/test.yml | 44--------------------------------------------
Aci/Dockerfile.external_deps | 22++++++++++++++++++++++
3 files changed, 36 insertions(+), 44 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml @@ -26,3 +26,17 @@ freebsd_task: - sudo -u cirrus gmake unittest oldtest_script: - sudo -u cirrus gmake oldtest + +with_external_deps_task: + container: + dockerfile: ci/Dockerfile.external_deps + deps_script: + # 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_LIBVTERM=ON -D USE_BUNDLED_TS=ON + - cmake --build .deps + build_script: + - cmake --preset ci + - cmake --build build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml @@ -353,47 +353,3 @@ jobs: run: | cd test/old/testdir mingw32-make VERBOSE=1 - - 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 \ - libunibilium-dev \ - libuv1-dev \ - lua-filesystem \ - lua-lpeg \ - luajit \ - lua-luv-dev - # libtree-sitter-dev \ - # libvterm-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_LIBVTERM=ON \ - -D USE_BUNDLED_TS=ON - cmake --build .deps - - - name: Build - run: | - cmake --preset ci - cmake --build build diff --git a/ci/Dockerfile.external_deps b/ci/Dockerfile.external_deps @@ -0,0 +1,22 @@ +FROM ubuntu:22.04 + +RUN apt-get update && \ + apt-get install -y software-properties-common && \ + add-apt-repository ppa:neovim-ppa/stable && \ + apt-get install -y ninja-build \ + gettext \ + cmake \ + unzip \ + curl \ + git \ + libluajit-5.1-dev \ + libmsgpack-dev \ + libtermkey-dev \ + libunibilium-dev \ + libuv1-dev \ + lua-filesystem \ + lua-lpeg \ + luajit \ + lua-luv-dev \ + libtree-sitter-dev \ + libvterm-dev