Skip to content

Commit

Permalink
ci: containerize the external dependencies test
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
dundargoc authored Apr 26, 2023
1 parent a1b045f commit 7d0479c
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 44 deletions.
14 changes: 14 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
44 changes: 0 additions & 44 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
22 changes: 22 additions & 0 deletions ci/Dockerfile.external_deps
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 7d0479c

Please sign in to comment.