mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
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.
This commit is contained in:
parent
a1b045f60a
commit
7d0479c558
14
.cirrus.yml
14
.cirrus.yml
@ -26,3 +26,17 @@ freebsd_task:
|
|||||||
- sudo -u cirrus gmake unittest
|
- sudo -u cirrus gmake unittest
|
||||||
oldtest_script:
|
oldtest_script:
|
||||||
- sudo -u cirrus gmake oldtest
|
- 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
|
||||||
|
44
.github/workflows/test.yml
vendored
44
.github/workflows/test.yml
vendored
@ -353,47 +353,3 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd test/old/testdir
|
cd test/old/testdir
|
||||||
mingw32-make VERBOSE=1
|
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
|
|
||||||
|
22
ci/Dockerfile.external_deps
Normal file
22
ci/Dockerfile.external_deps
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user