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:
dundargoc 2023-04-26 23:22:12 +02:00 committed by GitHub
parent a1b045f60a
commit 7d0479c558
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 44 deletions

View File

@ -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

View File

@ -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

View 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