1 | FROM node:18-slim as base
|
2 |
|
3 | LABEL maintainer="Orta Therox"
|
4 | LABEL "com.github.actions.name"="Danger JS Action"
|
5 | LABEL "com.github.actions.description"="Runs JavaScript/TypeScript Dangerfiles"
|
6 | LABEL "com.github.actions.icon"="zap"
|
7 | LABEL "com.github.actions.color"="blue"
|
8 |
|
9 | WORKDIR /usr/src/danger
|
10 |
|
11 | FROM base as build
|
12 | COPY package.json yarn.lock ./
|
13 | RUN yarn install
|
14 | COPY . .
|
15 | RUN yarn run build:fast
|
16 | RUN yarn remove 'typescript' --dev && yarn add 'typescript'
|
17 | RUN yarn install --production --frozen-lockfile
|
18 | RUN chmod +x distribution/commands/danger.js
|
19 |
|
20 | FROM base
|
21 | ENV PATH="/usr/src/danger/node_modules/.bin:$PATH"
|
22 | COPY package.json ./
|
23 | COPY --from=build /usr/src/danger/distribution ./dist
|
24 | COPY --from=build /usr/src/danger/node_modules ./node_modules
|
25 | RUN ln -s /usr/src/danger/dist/commands/danger.js /usr/bin/danger
|
26 |
|
27 | ENTRYPOINT ["danger", "ci"]
|