blob: d3b3ee597b0bcdaa7d970a4755f8383be9f10a6e (
plain)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
############################
#
# Image the contains the dependencies to run the lints.
# It downloads the gitlab-docs repository based on the
# branch the Docker image is invoked from.
# Based on Alpine.
#
############################
# RUBY_VERSION and ALPINE_VERSION are defined in .gitlab-ci.yml
ARG RUBY_VERSION
ARG ALPINE_VERSION
FROM ruby:${RUBY_VERSION}-alpine${ALPINE_VERSION}
MAINTAINER GitLab Technical Writing team
# VALE_VERSION and MARKDOWNLINT_VERSION are defined in .gitlab-ci.yml
ARG VALE_VERSION
ARG MARKDOWNLINT_VERSION
ENV GOBIN=/usr/local/bin
# Install dependencies
RUN apk add --no-cache -U \
bash \
build-base \
curl \
git \
gnupg \
gzip \
grep \
libcurl \
libxslt \
libxslt-dev \
nodejs \
openssl \
pngquant \
ruby-dev \
tar \
xz \
xz-dev \
go \
yarn
# Do not install rdoc to save some space
RUN echo 'gem: --no-document' >> /etc/gemrc
# Update bundler
RUN gem install bundler -v "1.17.3"
# Install vale
RUN curl -L https://github.com/errata-ai/vale/archive/v${VALE_VERSION}.tar.gz -o v${VALE_VERSION}.tar.gz && \
tar -xvzf v${VALE_VERSION}.tar.gz && \
cd vale-${VALE_VERSION} && \
os=linux exe=vale make && \
make install && \
cd .. && \
rm -r vale-${VALE_VERSION} && \
rm v${VALE_VERSION}.tar.gz && \
apk del go
# Set up needed environment variables that are called with --build-arg when
# the Docker image is built (see .gitlab-ci.yml).
ARG CI_COMMIT_REF_NAME
# If CI_COMMIT_REF_NAME is not set (local development), set it to master
ENV CI_COMMIT_REF_NAME ${CI_COMMIT_REF_NAME:-master}
WORKDIR /tmp
# markdownlint-cli pinned to control when new versions are put in place.
RUN yarn global add markdownlint-cli@${MARKDOWNLINT_VERSION} && yarn cache clean
RUN wget https://gitlab.com/gitlab-org/gitlab-docs/-/archive/$CI_COMMIT_REF_NAME/gitlab-docs-$CI_COMMIT_REF_NAME.tar.bz2 \
&& tar xvjf gitlab-docs-$CI_COMMIT_REF_NAME.tar.bz2 \
&& mv gitlab-docs-$CI_COMMIT_REF_NAME gitlab-docs \
&& rm gitlab-docs-$CI_COMMIT_REF_NAME.tar.bz2
RUN cd gitlab-docs \
&& yarn install --frozen-lockfile \
&& NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install --jobs 4
|