Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Dockerfile to fix build error #224

Merged
merged 1 commit into from
Sep 27, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 31 additions & 28 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,50 +10,53 @@
#
# docker run -t repolinter --git https://github.com/username/repo.git
#
FROM node:buster

ARG RUNTIME_DEPS="git libicu-dev perl"
ARG BUILD_DEPS="make build-essential cmake pkg-config zlib1g-dev libcurl4-openssl-dev libssl-dev libldap2-dev libidn11-dev"
ARG RUNTIME_DEPS="git libicu-dev perl python3 ruby-full locales patch ruby-dev"
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"
ARG NODE_VERSION="lts/fermium"

FROM ruby:2.6-slim as ruby-deps
ARG RUNTIME_DEPS
ARG BUILD_DEPS
## Image Building ##

# set to always UTF8
ENV LANG=C.UTF-8
# update image
RUN apt-get update && apt-get -y upgrade

# Install build deps
RUN apt-get update && \
apt-get install --no-install-recommends -y $RUNTIME_DEPS $BUILD_DEPS && \
gem update --system --silent
# Install APT deps
RUN apt-get install --no-install-recommends -y $BUILD_DEPS $RUNTIME_DEPS

# Install Bundler
RUN gem install bundler

# Link python3 as default
RUN ln -sf /usr/bin/python3 /usr/bin/python; \
ln -sf /usr/bin/pip3 /usr/bin/pip;

# Configure Git
RUN git config --global user.name "repolinter docker" && \
git config --global user.email "[email protected]"

## Language Dependencies ##

# Install ruby gems
WORKDIR /app

# Install ruby gems
COPY Gemfile* ./
RUN bundle config path vendor/bundle && \
bundle install --jobs 4 --retry 3

# cleanup
RUN apt-get remove -y $BUILD_DEPS && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*

FROM python:3.9-slim as python-deps
bundle install --jobs 4 --retry 3

# docutils for github-markup
RUN python -m pip install --upgrade pip && \
pip install docutils

FROM node:lts-slim

# Copy Ruby dependencies
COPY --from=ruby-deps . .
COPY --from=python-deps . .
pip install docutils

# Install node_modules
WORKDIR /app
COPY package*.json ./
RUN npm install --production

# cleanup
RUN apt-get remove -y $BUILD_DEPS && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*

# move the rest of the project over
COPY . .

Expand Down