@@ -3,48 +3,66 @@ ARG UBUNTU_VERSION=20.04
3
3
FROM ubuntu:${UBUNTU_VERSION} as ubuntu-nodejs
4
4
ARG NODEJS_MAJOR_VERSION=18
5
5
ENV DEBIAN_FRONTEND=nonintercative
6
- RUN apt-get update && apt-get install curl -y
7
- RUN curl --proto '=https' --tlsv1.2 -sSf -L https://deb.nodesource.com/setup_${NODEJS_MAJOR_VERSION}.x | bash -
8
- RUN curl --proto '=https' --tlsv1.2 -sSf -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\
9
- echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list
10
- RUN apt-get update
11
- RUN apt-get install nodejs -y
12
- RUN apt-get install -y --no-install-recommends ca-certificates jq postgresql-client
6
+
7
+ RUN \
8
+ apt-get update &&\
9
+ apt-get install ca-certificates curl gnupg lsb-release -y &&\
10
+ mkdir -p /etc/apt/keyrings &&\
11
+ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg &&\
12
+ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODEJS_MAJOR_VERSION.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list &&\
13
+ curl --proto '=https' --tlsv1.2 -sSf -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - &&\
14
+ echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list &&\
15
+ apt-get update &&\
16
+ apt-get install nodejs -y &&\
17
+ apt-get install -y --no-install-recommends ca-certificates jq postgresql-client
13
18
14
19
FROM ubuntu-nodejs as nodejs-builder
15
- RUN curl --proto '=https' --tlsv1.2 -sSf -L https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - &&\
20
+ RUN \
21
+ curl --proto '=https' --tlsv1.2 -sSf -L https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - &&\
16
22
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list &&\
17
- apt-get update && apt-get install pkg-config libusb-1.0 libudev-dev gcc g++ make gnupg2 yarn -y
18
- RUN yarn global add
[email protected]
19
- RUN mkdir -p /app/packages
23
+ apt-get update && apt-get install pkg-config libusb-1.0 libudev-dev gcc g++ make gnupg2 yarn -y &&\
24
+
20
25
WORKDIR /app
21
26
COPY build build
22
- COPY packages packages
27
+ COPY packages/cardano-services/package.json packages/cardano-services/package.json
28
+ COPY packages/cardano-services-client/package.json packages/cardano-services-client/package.json
29
+ COPY packages/core/package.json packages/core/package.json
30
+ COPY packages/crypto/package.json packages/crypto/package.json
31
+ COPY packages/dapp-connector/package.json packages/dapp-connector/package.json
32
+ COPY packages/e2e/package.json packages/e2e/package.json
33
+ COPY packages/golden-test-generator/package.json packages/golden-test-generator/package.json
34
+ COPY packages/governance/package.json packages/governance/package.json
35
+ COPY packages/hardware-ledger/package.json packages/hardware-ledger/package.json
36
+ COPY packages/hardware-trezor/package.json packages/hardware-trezor/package.json
37
+ COPY packages/input-selection/package.json packages/input-selection/package.json
38
+ COPY packages/key-management/package.json packages/key-management/package.json
39
+ COPY packages/ogmios/package.json packages/ogmios/package.json
40
+ COPY packages/projection/package.json packages/projection/package.json
41
+ COPY packages/projection-typeorm/package.json packages/projection-typeorm/package.json
42
+ COPY packages/tx-construction/package.json packages/tx-construction/package.json
43
+ COPY packages/util/package.json packages/util/package.json
44
+ COPY packages/util-dev/package.json packages/util-dev/package.json
45
+ COPY packages/util-rxjs/package.json packages/util-rxjs/package.json
46
+ COPY packages/wallet/package.json packages/wallet/package.json
47
+ COPY packages/web-extension/package.json packages/web-extension/package.json
23
48
COPY scripts scripts
24
49
COPY .yarn .yarn
25
- COPY \
26
- .eslintrc.js \
27
- .prettierrc \
28
- .yarnrc.yml \
29
- complete.eslintrc.js \
30
- eslint.tsconfig.json \
31
- package.json \
32
- tsconfig.json \
33
- yarn.lock \
34
- yarn-project.nix \
35
- /app/
50
+ COPY .eslintrc.js .prettierrc .yarnrc.yml complete.eslintrc.js eslint.tsconfig.json package.json tsconfig.json yarn.lock yarn-project.nix ./
36
51
37
52
FROM nodejs-builder as cardano-services-builder
38
53
RUN yarn --immutable --inline-builds
39
- RUN NODE_OPTIONS=--max_old_space_size=10240 yarn build
54
+ COPY packages packages
55
+ RUN \
56
+ echo "export const unused = 'unused';" > packages/e2e/src/index.ts &&\
57
+ NODE_OPTIONS=--max_old_space_size=10240 yarn build
40
58
41
59
FROM nodejs-builder as cardano-services-production-deps
42
60
RUN yarn workspaces focus --all --production
43
61
44
62
FROM ubuntu-nodejs as cardano-services
45
63
COPY --from=cardano-services-production-deps /app/node_modules /app/node_modules
46
64
COPY --from=cardano-services-production-deps /app/packages/cardano-services/node_modules /app/packages/cardano-services/node_modules
47
- COPY --from=cardano-services-production-deps /app/packages/projection-typeorm /node_modules /app/packages/projection-typeorm /node_modules
65
+ COPY --from=cardano-services-production-deps /app/packages/core /node_modules /app/packages/core /node_modules
48
66
COPY --from=cardano-services-builder /app/scripts /app/scripts
49
67
COPY --from=cardano-services-builder /app/packages/cardano-services/dist /app/packages/cardano-services/dist
50
68
COPY --from=cardano-services-builder /app/packages/cardano-services/package.json /app/packages/cardano-services/package.json
0 commit comments