|
10 | 10 | #
|
11 | 11 | # docker run -t repolinter --git https://github.com/username/repo.git
|
12 | 12 | #
|
| 13 | +FROM node:buster |
13 | 14 |
|
14 |
| -ARG RUNTIME_DEPS="git libicu-dev perl" |
15 |
| -ARG BUILD_DEPS="make build-essential cmake pkg-config zlib1g-dev libcurl4-openssl-dev libssl-dev libldap2-dev libidn11-dev" |
| 15 | +ARG RUNTIME_DEPS="git libicu-dev perl python3 ruby-full locales patch ruby-dev" |
| 16 | +ARG BUILD_DEPS="make autoconf automake python3-pip curl liblzma-dev build-essential cmake pkg-config zlib1g-dev libcurl4-openssl-dev libssl-dev libldap2-dev libidn11-dev" |
| 17 | +ARG NODE_VERSION="lts/fermium" |
16 | 18 |
|
17 |
| -FROM ruby:2.6-slim as ruby-deps |
18 |
| -ARG RUNTIME_DEPS |
19 |
| -ARG BUILD_DEPS |
| 19 | +## Image Building ## |
20 | 20 |
|
21 |
| -# set to always UTF8 |
22 |
| -ENV LANG=C.UTF-8 |
| 21 | +# update image |
| 22 | +RUN apt-get update && apt-get -y upgrade |
23 | 23 |
|
24 |
| -# Install build deps |
25 |
| -RUN apt-get update && \ |
26 |
| - apt-get install --no-install-recommends -y $RUNTIME_DEPS $BUILD_DEPS && \ |
27 |
| - gem update --system --silent |
| 24 | +# Install APT deps |
| 25 | +RUN apt-get install --no-install-recommends -y $BUILD_DEPS $RUNTIME_DEPS |
| 26 | + |
| 27 | +# Install Bundler |
| 28 | +RUN gem install bundler |
| 29 | + |
| 30 | +# Link python3 as default |
| 31 | +RUN ln -sf /usr/bin/python3 /usr/bin/python; \ |
| 32 | + ln -sf /usr/bin/pip3 /usr/bin/pip; |
| 33 | + |
| 34 | +# Configure Git |
| 35 | +RUN git config --global user.name "repolinter docker" && \ |
| 36 | + git config --global user.email "[email protected]" |
| 37 | + |
| 38 | +## Language Dependencies ## |
28 | 39 |
|
29 |
| -# Install ruby gems |
30 | 40 | WORKDIR /app
|
| 41 | + |
| 42 | +# Install ruby gems |
31 | 43 | COPY Gemfile* ./
|
32 | 44 | RUN bundle config path vendor/bundle && \
|
33 |
| - bundle install --jobs 4 --retry 3 |
34 |
| - |
35 |
| -# cleanup |
36 |
| -RUN apt-get remove -y $BUILD_DEPS && \ |
37 |
| - apt-get autoremove -y && \ |
38 |
| - rm -rf /var/lib/apt/lists/* |
39 |
| - |
40 |
| -FROM python:3.9-slim as python-deps |
| 45 | + bundle install --jobs 4 --retry 3 |
41 | 46 |
|
42 | 47 | # docutils for github-markup
|
43 | 48 | RUN python -m pip install --upgrade pip && \
|
44 |
| - pip install docutils |
45 |
| - |
46 |
| -FROM node:lts-slim |
47 |
| - |
48 |
| -# Copy Ruby dependencies |
49 |
| -COPY --from=ruby-deps . . |
50 |
| -COPY --from=python-deps . . |
| 49 | + pip install docutils |
51 | 50 |
|
52 | 51 | # Install node_modules
|
53 |
| -WORKDIR /app |
54 | 52 | COPY package*.json ./
|
55 | 53 | RUN npm install --production
|
56 | 54 |
|
| 55 | +# cleanup |
| 56 | +RUN apt-get remove -y $BUILD_DEPS && \ |
| 57 | + apt-get autoremove -y && \ |
| 58 | + rm -rf /var/lib/apt/lists/* |
| 59 | + |
57 | 60 | # move the rest of the project over
|
58 | 61 | COPY . .
|
59 | 62 |
|
|
0 commit comments