forked from neomake/neomake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.tests
56 lines (48 loc) · 2.74 KB
/
Dockerfile.tests
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# From https://github.com/tweekmonster/vim-testbed.
FROM testbed/vim:10@sha256:be6e7e3b7b424671da955ccc71a980f329ec10b773cbae001e696429148ed391
# Currently tested versions:
# - v7.3.429 (Ubuntu Precise, 12.04LTS)
# - v7.4.052 (Ubuntu Trusty, 14.04LTS)
# - v7.4.1689 (Ubuntu Xenial, 16.04LTS)
# - v8.0.586 (Updated Vim 8, https://vim.sourceforge.io/download.php)
# TODO: clean up names to make them usable as-is in CircleCI config.
RUN install_vim -tag v7.3.429 -name vim73 --with-features=huge -build \
-tag v7.4.052 -name vim74-trusty --with-features=huge -build \
-tag v7.4.1689 -name vim74-xenial --with-features=huge -build \
-tag v8.0.0586 -name vim-8.0.586 -py2 -build \
-tag neovim:v0.1.7 -build \
-tag neovim:v0.2.0 -build \
-tag neovim:v0.2.1 -build \
-tag neovim:v0.2.2 -py3 -build \
&& rm -rf /vim-build/vim/vim/*/share/vim/*/tutor
ENV NEOMAKE_DOCKERFILE_UPDATE=2018-02-23
# Git master in a separate layer, since the above is meant to be stable.
RUN install_vim -tag master -build \
-tag neovim:master -build \
&& rm -rf /vim-build/vim/vim/*/share/vim/*/tutor
# Install bash and make for running tests.
RUN apk --no-cache add bash make
# Install dep plugins (test runner and those used during tests).
# Keeps git and installs ssh for CircleCI's checkout (and diffing for changed
# files). grep for checks.
ENV NEOMAKE_TESTS_DEP_PLUGINS_DIR=/neomake-deps
RUN mkdir $NEOMAKE_TESTS_DEP_PLUGINS_DIR
RUN apk --no-cache add git grep openssh
RUN git clone -q --depth=1 -b display-source-with-exceptions https://github.com/blueyed/vader.vim $NEOMAKE_TESTS_DEP_PLUGINS_DIR/vader
RUN git clone -q --depth=1 https://github.com/tpope/vim-fugitive $NEOMAKE_TESTS_DEP_PLUGINS_DIR/vim-fugitive
RUN git clone -q --depth=1 https://github.com/machakann/vim-vimhelplint $NEOMAKE_TESTS_DEP_PLUGINS_DIR/vim-vimhelplint
ENV VIMHELPLINT_DIR=$NEOMAKE_TESTS_DEP_PLUGINS_DIR/vim-vimhelplint
# Vimlint with wrapper script.
RUN git clone -q --depth=1 https://github.com/syngan/vim-vimlint /tools/vim-vimlint
RUN git clone -q --depth=1 https://github.com/ynkdir/vim-vimlparser /tools/vim-vimlparser
RUN cd /usr/local/bin && ln -s /vim-build/bin/vim-master vim
RUN printf '#!/bin/sh -x\n/tools/vim-vimlint/bin/vimlint.sh -l /tools/vim-vimlint -p /tools/vim-vimlparser "$@"\n' > /usr/local/bin/vimlint
RUN chmod +x /usr/local/bin/vimlint
# Install covimerage, codecov and vint.
RUN apk --no-cache add python3 \
&& pip3 install --no-cache-dir codecov covimerage==0.0.4 vim-vint \
&& rm -rf /usr/include /usr/lib/python*/turtle* /usr/lib/python*/tkinter \
&& pip3 uninstall --yes pip \
&& cd /usr/bin && ln -s python3 python
RUN adduser -D -s /bin/bash neomake
USER neomake