Skip to content

Commit 49062da

Browse files
committed
Hello Github actions
1 parent 0ae45f9 commit 49062da

File tree

4 files changed

+93
-21
lines changed

4 files changed

+93
-21
lines changed

.github/workflows/docker.yml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: docker
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
push:
8+
branches:
9+
- master
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
lint:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v3
20+
- uses: hadolint/[email protected]
21+
with:
22+
recursive: true
23+
ignore: DL3018
24+
25+
build:
26+
if: github.ref != 'ref/heads/master'
27+
runs-on: ubuntu-latest
28+
strategy:
29+
matrix:
30+
build:
31+
- dockerfile: event-pipeline-evm/Dockerfile
32+
registry: 883408475785.dkr.ecr.us-east-1.amazonaws.com/0x/event-pipeline-evm
33+
- dockerfile: event-pipeline/Dockerfile
34+
registry: 883408475785.dkr.ecr.us-east-1.amazonaws.com/0x/event-pipeline
35+
- dockerfile: staking-api/Dockerfile
36+
registry: 883408475785.dkr.ecr.us-east-1.amazonaws.com/0x/staking-api
37+
steps:
38+
- uses: actions/checkout@v3
39+
- uses: docker/setup-qemu-action@v2
40+
- uses: docker/setup-buildx-action@v2
41+
- uses: docker/build-push-action@v3
42+
with:
43+
push: false
44+
context: .
45+
file: ${{ matrix.build.dockerfile }}
46+
platforms: linux/amd64
47+
tags: ${{ matrix.build.registry }}:${{ github.sha }}
48+

event-pipeline-evm/Dockerfile

+20-8
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,50 @@
11
# Stage 1 - Build
2-
FROM node:12-alpine as build
2+
#
3+
FROM node:12-alpine AS build
34
WORKDIR /usr/src/app
45

56
# Install app dependencies
67
COPY event-pipeline-evm event-pipeline-evm
78
COPY pipeline-utils pipeline-utils
89
COPY package.json yarn.lock tsconfig.json lerna.json ./
9-
RUN apk update && \
10-
apk upgrade && \
11-
apk add --no-cache --virtual build-dependencies bash git openssh python3 make g++ && \
12-
yarn --frozen-lockfile --no-cache
1310

14-
RUN yarn build
11+
RUN apk add --update --no-cache --virtual build-dependencies \
12+
bash \
13+
git \
14+
openssh \
15+
python3 \
16+
make \
17+
g++ && \
18+
yarn --frozen-lockfile --no-cache && \
19+
yarn build
1520

1621
# Stage 2
22+
#
1723
FROM node:12-alpine
1824
WORKDIR /usr/src/app
1925

2026
# Setup monorepo
27+
#
2128
COPY package.json yarn.lock tsconfig.json lerna.json ./
2229

2330
# Setup pipeline-utils
31+
#
2432
COPY pipeline-utils/package.json pipeline-utils/
2533
COPY --from=build /usr/src/app/pipeline-utils/lib pipeline-utils/lib
2634

2735
# Install event-pipeline-evm runtime dependencies
36+
#
2837
COPY event-pipeline-evm/package.json event-pipeline-evm/
29-
RUN apk add git && \
38+
RUN apk add --update --no-cache git && \
3039
yarn install --frozen-lockfile --no-cache --production && \
40+
yarn cache clean && \
3141
apk del git
3242

3343
# Copy built files
44+
#
3445
COPY --from=build /usr/src/app/event-pipeline-evm/lib event-pipeline-evm/lib/
3546

36-
#Start
47+
# Start
48+
#
3749
WORKDIR /usr/src/app/event-pipeline-evm
3850
CMD [ "yarn", "migrate_and_start" ]

event-pipeline/Dockerfile

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
# Stage 1 - Build
2-
FROM node:12-alpine as build
2+
#
3+
FROM node:12-alpine AS build
34
WORKDIR /usr/src/app
45

56
# Install app dependencies
67
COPY event-pipeline event-pipeline
78
COPY pipeline-utils pipeline-utils
89
COPY package.json yarn.lock tsconfig.json lerna.json ./
9-
RUN apk update && \
10-
apk upgrade && \
11-
apk add --no-cache --virtual build-dependencies bash git openssh python3 make g++ && \
12-
yarn --frozen-lockfile --no-cache
1310

14-
RUN yarn build
11+
RUN apk add --update --no-cache --virtual build-dependencies bash git openssh python3 make g++ && \
12+
yarn --frozen-lockfile --no-cache && \
13+
yarn build
1514

1615
# Stage 2
1716
FROM node:12-alpine
@@ -26,9 +25,14 @@ COPY --from=build /usr/src/app/pipeline-utils/lib pipeline-utils/lib
2625

2726
# Install event-pipeline runtime dependencies
2827
COPY event-pipeline/package.json event-pipeline/
29-
RUN apk add git python3 make g++ && \
28+
RUN apk add --update --no-cache --virtual build-dependencies \
29+
git \
30+
python3 \
31+
make \
32+
g++ && \
3033
yarn install --frozen-lockfile --no-cache --production && \
31-
apk del git python3 make g++
34+
apk del build-dependencies && \
35+
yarn cache clean
3236

3337
# Copy built files
3438
COPY --from=build /usr/src/app/event-pipeline/lib event-pipeline/lib/

staking-api/Dockerfile

+13-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
# Stage 1
22
FROM node:12-alpine as build
3+
34
WORKDIR /usr/src/app
45
# Install app dependencies
56
COPY staking-api staking-api
67
COPY package.json yarn.lock tsconfig.json lerna.json ./
7-
RUN apk update && \
8-
apk upgrade && \
9-
apk add --no-cache --virtual build-dependencies bash git openssh python3 make g++ && \
8+
9+
RUN apk add --update --no-cache --virtual build-dependencies \
10+
bash \
11+
git \
12+
openssh \
13+
python3 \
14+
make \
15+
g++ && \
1016
yarn --frozen-lockfile --no-cache
11-
17+
1218
RUN yarn build
1319

1420
# Stage 2
@@ -20,7 +26,9 @@ ENV NODE_ENV=production
2026

2127
# Install runtime dependencies
2228
COPY staking-api/package.json yarn.lock ./
23-
RUN yarn install --frozen-lockfile --no-cache
29+
30+
RUN yarn install --frozen-lockfile && \
31+
yarn cache clean
2432

2533
# Copy built files
2634
COPY --from=build /usr/src/app/staking-api/lib /usr/src/app/staking-api/lib

0 commit comments

Comments
 (0)