2020-06-11 14:49:41 +03:00
|
|
|
# syntax = docker/dockerfile:experimental
|
2020-09-24 11:09:17 +03:00
|
|
|
|
|
|
|
# Copyright 2020 Docker CLI JavaScript SDK authors
|
|
|
|
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
|
2020-08-14 19:26:39 +03:00
|
|
|
FROM node:12-buster-slim AS base
|
|
|
|
WORKDIR /src
|
2020-06-11 14:49:41 +03:00
|
|
|
COPY package.json .
|
|
|
|
COPY yarn.lock .
|
|
|
|
|
2020-06-12 16:53:12 +03:00
|
|
|
RUN --mount=type=cache,target=/usr/local/share/.cache/yarn/v6 \
|
2020-06-11 14:49:41 +03:00
|
|
|
yarn install --frozen-lockfile
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
|
2020-08-18 17:24:24 +03:00
|
|
|
FROM base AS run-build
|
|
|
|
RUN yarn build
|
|
|
|
|
|
|
|
FROM scratch AS build
|
|
|
|
COPY --from=run-build /src/src /
|
|
|
|
|
|
|
|
FROM base AS lint
|
|
|
|
RUN yarn lint
|
|
|
|
|
2020-08-14 19:26:39 +03:00
|
|
|
FROM base AS test
|
|
|
|
CMD ["yarn", "test"]
|
|
|
|
VOLUME ["/var/run/docker.sock"]
|
|
|
|
COPY --from=docker /usr/local/bin/docker /usr/local/bin/com.docker.cli
|
|
|
|
RUN yarn download-cli
|
|
|
|
|
|
|
|
FROM base AS download-protos
|
|
|
|
RUN yarn download-protos
|
|
|
|
RUN ./protos.sh
|
|
|
|
|
|
|
|
FROM scratch AS protos
|
|
|
|
COPY --from=download-protos /src/src /
|