Skip to content

Commit 136f84d

Browse files
committed
Fixing the node_modules build
1 parent 2c216f7 commit 136f84d

File tree

131 files changed

+1031
-585
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+1031
-585
lines changed

.automation/build.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ def build_dockerfile(
283283
all_build_platform_dockerfile_items = []
284284
apk_packages = DEFAULT_DOCKERFILE_APK_PACKAGES.copy()
285285
apk_build_platform_packages = []
286-
apk_npm_packages = []
286+
apk_npm_packages = ["npm"]
287287
npm_packages = []
288288
pip_packages = []
289289
pipvenv_packages = {}
@@ -455,6 +455,7 @@ def build_dockerfile(
455455
# Collect npm packages
456456
if "npm" in item["install"]:
457457
npm_packages += item["install"]["npm"]
458+
docker_copy += ["COPY --link --from=node_modules /node-deps /node-deps"]
458459
# Collect python for venvs
459460
if "linter_name" in item and "pip" in item["install"]:
460461
pipvenv_packages[item["linter_name"]] = item["install"]["pip"]

Dockerfile

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ RUN rustup-init -y --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-u
6767

6868
RUN --mount=type=cache,id=cargo-${TARGETARCH},sharing=locked,target=/cargo/.cargo/registry/,uid=63425 \
6969
. /cargo/.cargo/env \
70-
&& cargo install shellcheck-sarif sarif-fmt --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
70+
&& cargo install sarif-fmt shellcheck-sarif --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
7171

7272
FROM scratch AS cargo
7373
COPY --link --from=cargo-build /tmp/bin/* /bin/
74-
RUN ["/bin/shellcheck-sarif", "--help"]
7574
RUN ["/bin/sarif-fmt", "--help"]
75+
RUN ["/bin/shellcheck-sarif", "--help"]
7676

7777
#FROM__END
7878

@@ -110,6 +110,8 @@ FROM scratch AS copy-collector
110110
#############################################################################################
111111

112112
#COPY__START
113+
COPY --link --from=node_modules /node-deps /node-deps
114+
COPY --link --from=node_modules /node-deps /node-deps
113115
COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint
114116
# shellcheck is a dependency for actionlint
115117

@@ -118,23 +120,53 @@ COPY --link --from=build-platform /usr/bin/bash-exec /usr/bin/bash-exec
118120
# Next COPY line commented because already managed by another linter
119121
# COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
120122
COPY --link --from=shfmt /bin/shfmt /usr/bin/
123+
COPY --link --from=node_modules /node-deps /node-deps
124+
COPY --link --from=node_modules /node-deps /node-deps
125+
COPY --link --from=node_modules /node-deps /node-deps
121126
COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
122127
COPY --link --from=editorconfig-checker /usr/bin/ec /usr/bin/editorconfig-checker
123128
COPY --link --from=dotenv-linter /dotenv-linter /usr/bin/dotenv-linter
129+
COPY --link --from=node_modules /node-deps /node-deps
124130
COPY --link --from=revive /usr/bin/revive /usr/bin/revive
131+
COPY --link --from=node_modules /node-deps /node-deps
132+
COPY --link --from=node_modules /node-deps /node-deps
133+
COPY --link --from=node_modules /node-deps /node-deps
134+
COPY --link --from=node_modules /node-deps /node-deps
135+
COPY --link --from=node_modules /node-deps /node-deps
136+
COPY --link --from=node_modules /node-deps /node-deps
137+
COPY --link --from=node_modules /node-deps /node-deps
138+
COPY --link --from=node_modules /node-deps /node-deps
139+
COPY --link --from=node_modules /node-deps /node-deps
140+
COPY --link --from=node_modules /node-deps /node-deps
141+
COPY --link --from=node_modules /node-deps /node-deps
142+
COPY --link --from=node_modules /node-deps /node-deps
125143
COPY --link --from=chktex /usr/bin/chktex /usr/bin/
126144
COPY --link --from=checkmake /checkmake /usr/bin/checkmake
145+
COPY --link --from=node_modules /node-deps /node-deps
146+
COPY --link --from=node_modules /node-deps /node-deps
147+
COPY --link --from=node_modules /node-deps /node-deps
148+
COPY --link --from=node_modules /node-deps /node-deps
127149
COPY --link --chmod=755 --from=phpstan /composer/vendor/phpstan/phpstan/phpstan.phar /usr/bin/phpstan
128150
COPY --link --from=protolint /usr/local/bin/protolint /usr/bin/
129151
COPY --link --from=dustilock /usr/bin/dustilock /usr/bin/dustilock
130152
COPY --link --from=gitleaks /usr/bin/gitleaks /usr/bin/
153+
COPY --link --from=node_modules /node-deps /node-deps
131154
COPY --link --from=build-platform /usr/bin/scalafix /usr/bin
155+
COPY --link --from=node_modules /node-deps /node-deps
156+
COPY --link --from=node_modules /node-deps /node-deps
157+
COPY --link --from=node_modules /node-deps /node-deps
132158
COPY --link --from=tflint /usr/local/bin/tflint /usr/bin/
133159
COPY --link --from=terrascan /go/bin/terrascan /usr/bin/
134160
COPY --link --from=terragrunt /usr/local/bin/terragrunt /usr/bin/
135161
COPY --link --from=terragrunt /bin/terraform /usr/bin/
136162
COPY --link --from=kics /app/bin/kics /usr/bin/
137163
COPY --from=kics /app/bin/assets /opt/kics/assets/
164+
COPY --link --from=node_modules /node-deps /node-deps
165+
COPY --link --from=node_modules /node-deps /node-deps
166+
COPY --link --from=node_modules /node-deps /node-deps
167+
COPY --link --from=node_modules /node-deps /node-deps
168+
COPY --link --from=node_modules /node-deps /node-deps
169+
COPY --link --from=node_modules /node-deps /node-deps
138170
COPY --link --from=cargo /bin/* /usr/bin/
139171
#COPY__END
140172

@@ -223,10 +255,11 @@ RUN echo \
223255

224256
#PIPVENV__END
225257

226-
FROM python:3.11.3-alpine3.17 AS node_modules
258+
FROM --platform=$BUILDPLATFORM python:3.11.3-alpine3.17 AS node_modules
227259

228260
#NPM_APK__START
229-
RUN apk add --update --no-cache gcc musl-dev libffi-dev rust cargo cmake make g++ openssl-dev
261+
RUN apk add --update --no-cache \
262+
npm
230263
#NPM_APK__END
231264

232265
############################

flavors/ci_light/Dockerfile

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@ RUN rustup-init -y --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-u
4444

4545
RUN --mount=type=cache,id=cargo-${TARGETARCH},sharing=locked,target=/cargo/.cargo/registry/,uid=63425 \
4646
. /cargo/.cargo/env \
47-
&& cargo install shellcheck-sarif sarif-fmt --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
47+
&& cargo install sarif-fmt shellcheck-sarif --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
4848

4949
FROM scratch AS cargo
5050
COPY --link --from=cargo-build /tmp/bin/* /bin/
51-
RUN ["/bin/shellcheck-sarif", "--help"]
5251
RUN ["/bin/sarif-fmt", "--help"]
52+
RUN ["/bin/shellcheck-sarif", "--help"]
5353

5454
#FROM__END
5555

@@ -77,10 +77,19 @@ FROM scratch AS copy-collector
7777
#COPY__START
7878
COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
7979
COPY --link --from=shfmt /bin/shfmt /usr/bin/
80+
COPY --link --from=node_modules /node-deps /node-deps
8081
COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
8182
COPY --link --from=dotenv-linter /dotenv-linter /usr/bin/dotenv-linter
83+
COPY --link --from=node_modules /node-deps /node-deps
84+
COPY --link --from=node_modules /node-deps /node-deps
85+
COPY --link --from=node_modules /node-deps /node-deps
86+
COPY --link --from=node_modules /node-deps /node-deps
87+
COPY --link --from=node_modules /node-deps /node-deps
8288
COPY --link --from=checkmake /checkmake /usr/bin/checkmake
8389
COPY --link --from=gitleaks /usr/bin/gitleaks /usr/bin/
90+
COPY --link --from=node_modules /node-deps /node-deps
91+
COPY --link --from=node_modules /node-deps /node-deps
92+
COPY --link --from=node_modules /node-deps /node-deps
8493
COPY --link --from=cargo /bin/* /usr/bin/
8594
#COPY__END
8695

@@ -127,11 +136,12 @@ RUN echo \
127136

128137
#PIPVENV__END
129138

130-
FROM python:3.11.3-alpine3.17 AS node_modules
139+
FROM --platform=$BUILDPLATFORM python:3.11.3-alpine3.17 AS node_modules
131140

132-
#NODE_MODULES_APK__START
133-
RUN apk add --update --no-cache gcc musl-dev libffi-dev rust cargo cmake make g++ openssl-dev
134-
#NODE_MODULES_APK__END
141+
#NPM_APK__START
142+
RUN apk add --update --no-cache \
143+
npm
144+
#NPM_APK__END
135145

136146
############################
137147
# Install NPM dependencies #

flavors/cupcake/Dockerfile

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ RUN rustup-init -y --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-u
6363

6464
RUN --mount=type=cache,id=cargo-${TARGETARCH},sharing=locked,target=/cargo/.cargo/registry/,uid=63425 \
6565
. /cargo/.cargo/env \
66-
&& cargo install shellcheck-sarif sarif-fmt --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
66+
&& cargo install sarif-fmt shellcheck-sarif --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
6767

6868
FROM scratch AS cargo
6969
COPY --link --from=cargo-build /tmp/bin/* /bin/
70-
RUN ["/bin/shellcheck-sarif", "--help"]
7170
RUN ["/bin/sarif-fmt", "--help"]
71+
RUN ["/bin/shellcheck-sarif", "--help"]
7272

7373
#FROM__END
7474

@@ -98,6 +98,7 @@ FROM scratch AS copy-collector
9898
#############################################################################################
9999

100100
#COPY__START
101+
COPY --link --from=node_modules /node-deps /node-deps
101102
COPY --link --from=actionlint /usr/local/bin/actionlint /usr/bin/actionlint
102103
# shellcheck is a dependency for actionlint
103104

@@ -106,19 +107,45 @@ COPY --link --from=build-platform /usr/bin/bash-exec /usr/bin/bash-exec
106107
# Next COPY line commented because already managed by another linter
107108
# COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
108109
COPY --link --from=shfmt /bin/shfmt /usr/bin/
110+
COPY --link --from=node_modules /node-deps /node-deps
111+
COPY --link --from=node_modules /node-deps /node-deps
109112
COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
110113
COPY --link --from=editorconfig-checker /usr/bin/ec /usr/bin/editorconfig-checker
111114
COPY --link --from=dotenv-linter /dotenv-linter /usr/bin/dotenv-linter
112115
COPY --link --from=revive /usr/bin/revive /usr/bin/revive
116+
COPY --link --from=node_modules /node-deps /node-deps
117+
COPY --link --from=node_modules /node-deps /node-deps
118+
COPY --link --from=node_modules /node-deps /node-deps
119+
COPY --link --from=node_modules /node-deps /node-deps
120+
COPY --link --from=node_modules /node-deps /node-deps
121+
COPY --link --from=node_modules /node-deps /node-deps
122+
COPY --link --from=node_modules /node-deps /node-deps
123+
COPY --link --from=node_modules /node-deps /node-deps
124+
COPY --link --from=node_modules /node-deps /node-deps
125+
COPY --link --from=node_modules /node-deps /node-deps
126+
COPY --link --from=node_modules /node-deps /node-deps
127+
COPY --link --from=node_modules /node-deps /node-deps
113128
COPY --link --from=checkmake /checkmake /usr/bin/checkmake
129+
COPY --link --from=node_modules /node-deps /node-deps
130+
COPY --link --from=node_modules /node-deps /node-deps
131+
COPY --link --from=node_modules /node-deps /node-deps
114132
COPY --link --chmod=755 --from=phpstan /composer/vendor/phpstan/phpstan/phpstan.phar /usr/bin/phpstan
115133
COPY --link --from=gitleaks /usr/bin/gitleaks /usr/bin/
134+
COPY --link --from=node_modules /node-deps /node-deps
135+
COPY --link --from=node_modules /node-deps /node-deps
136+
COPY --link --from=node_modules /node-deps /node-deps
116137
COPY --link --from=tflint /usr/local/bin/tflint /usr/bin/
117138
COPY --link --from=terrascan /go/bin/terrascan /usr/bin/
118139
COPY --link --from=terragrunt /usr/local/bin/terragrunt /usr/bin/
119140
COPY --link --from=terragrunt /bin/terraform /usr/bin/
120141
COPY --link --from=kics /app/bin/kics /usr/bin/
121142
COPY --from=kics /app/bin/assets /opt/kics/assets/
143+
COPY --link --from=node_modules /node-deps /node-deps
144+
COPY --link --from=node_modules /node-deps /node-deps
145+
COPY --link --from=node_modules /node-deps /node-deps
146+
COPY --link --from=node_modules /node-deps /node-deps
147+
COPY --link --from=node_modules /node-deps /node-deps
148+
COPY --link --from=node_modules /node-deps /node-deps
122149
COPY --link --from=cargo /bin/* /usr/bin/
123150
#COPY__END
124151

@@ -201,11 +228,12 @@ RUN echo \
201228

202229
#PIPVENV__END
203230

204-
FROM python:3.11.3-alpine3.17 AS node_modules
231+
FROM --platform=$BUILDPLATFORM python:3.11.3-alpine3.17 AS node_modules
205232

206-
#NODE_MODULES_APK__START
207-
RUN apk add --update --no-cache gcc musl-dev libffi-dev rust cargo cmake make g++ openssl-dev
208-
#NODE_MODULES_APK__END
233+
#NPM_APK__START
234+
RUN apk add --update --no-cache \
235+
npm
236+
#NPM_APK__END
209237

210238
############################
211239
# Install NPM dependencies #

flavors/documentation/Dockerfile

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ RUN rustup-init -y --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-u
5151

5252
RUN --mount=type=cache,id=cargo-${TARGETARCH},sharing=locked,target=/cargo/.cargo/registry/,uid=63425 \
5353
. /cargo/.cargo/env \
54-
&& cargo install shellcheck-sarif sarif-fmt --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
54+
&& cargo install sarif-fmt shellcheck-sarif --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
5555

5656
FROM scratch AS cargo
5757
COPY --link --from=cargo-build /tmp/bin/* /bin/
58-
RUN ["/bin/shellcheck-sarif", "--help"]
5958
RUN ["/bin/sarif-fmt", "--help"]
59+
RUN ["/bin/shellcheck-sarif", "--help"]
6060

6161
#FROM__END
6262

@@ -94,12 +94,31 @@ COPY --link --from=build-platform /usr/bin/bash-exec /usr/bin/bash-exec
9494
# Next COPY line commented because already managed by another linter
9595
# COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
9696
COPY --link --from=shfmt /bin/shfmt /usr/bin/
97+
COPY --link --from=node_modules /node-deps /node-deps
98+
COPY --link --from=node_modules /node-deps /node-deps
9799
COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
98100
COPY --link --from=editorconfig-checker /usr/bin/ec /usr/bin/editorconfig-checker
99101
COPY --link --from=dotenv-linter /dotenv-linter /usr/bin/dotenv-linter
102+
COPY --link --from=node_modules /node-deps /node-deps
103+
COPY --link --from=node_modules /node-deps /node-deps
104+
COPY --link --from=node_modules /node-deps /node-deps
105+
COPY --link --from=node_modules /node-deps /node-deps
106+
COPY --link --from=node_modules /node-deps /node-deps
107+
COPY --link --from=node_modules /node-deps /node-deps
108+
COPY --link --from=node_modules /node-deps /node-deps
100109
COPY --link --from=checkmake /checkmake /usr/bin/checkmake
110+
COPY --link --from=node_modules /node-deps /node-deps
111+
COPY --link --from=node_modules /node-deps /node-deps
112+
COPY --link --from=node_modules /node-deps /node-deps
113+
COPY --link --from=node_modules /node-deps /node-deps
101114
COPY --link --from=protolint /usr/local/bin/protolint /usr/bin/
102115
COPY --link --from=gitleaks /usr/bin/gitleaks /usr/bin/
116+
COPY --link --from=node_modules /node-deps /node-deps
117+
COPY --link --from=node_modules /node-deps /node-deps
118+
COPY --link --from=node_modules /node-deps /node-deps
119+
COPY --link --from=node_modules /node-deps /node-deps
120+
COPY --link --from=node_modules /node-deps /node-deps
121+
COPY --link --from=node_modules /node-deps /node-deps
103122
COPY --link --from=cargo /bin/* /usr/bin/
104123
#COPY__END
105124

@@ -162,11 +181,12 @@ RUN echo \
162181

163182
#PIPVENV__END
164183

165-
FROM python:3.11.3-alpine3.17 AS node_modules
184+
FROM --platform=$BUILDPLATFORM python:3.11.3-alpine3.17 AS node_modules
166185

167-
#NODE_MODULES_APK__START
168-
RUN apk add --update --no-cache gcc musl-dev libffi-dev rust cargo cmake make g++ openssl-dev
169-
#NODE_MODULES_APK__END
186+
#NPM_APK__START
187+
RUN apk add --update --no-cache \
188+
npm
189+
#NPM_APK__END
170190

171191
############################
172192
# Install NPM dependencies #

flavors/dotnet/Dockerfile

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ RUN rustup-init -y --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-u
5151

5252
RUN --mount=type=cache,id=cargo-${TARGETARCH},sharing=locked,target=/cargo/.cargo/registry/,uid=63425 \
5353
. /cargo/.cargo/env \
54-
&& cargo install shellcheck-sarif sarif-fmt --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
54+
&& cargo install sarif-fmt shellcheck-sarif --root /tmp --target $([[ "${TARGETARCH}" == "amd64" ]] && echo "x86_64-unknown-linux-musl" || echo "aarch64-unknown-linux-musl")
5555

5656
FROM scratch AS cargo
5757
COPY --link --from=cargo-build /tmp/bin/* /bin/
58-
RUN ["/bin/shellcheck-sarif", "--help"]
5958
RUN ["/bin/sarif-fmt", "--help"]
59+
RUN ["/bin/shellcheck-sarif", "--help"]
6060

6161
#FROM__END
6262

@@ -94,12 +94,33 @@ COPY --link --from=build-platform /usr/bin/bash-exec /usr/bin/bash-exec
9494
# Next COPY line commented because already managed by another linter
9595
# COPY --link --from=shellcheck /bin/shellcheck /usr/bin/shellcheck
9696
COPY --link --from=shfmt /bin/shfmt /usr/bin/
97+
COPY --link --from=node_modules /node-deps /node-deps
98+
COPY --link --from=node_modules /node-deps /node-deps
9799
COPY --link --from=hadolint /bin/hadolint /usr/bin/hadolint
98100
COPY --link --from=editorconfig-checker /usr/bin/ec /usr/bin/editorconfig-checker
99101
COPY --link --from=dotenv-linter /dotenv-linter /usr/bin/dotenv-linter
102+
COPY --link --from=node_modules /node-deps /node-deps
103+
COPY --link --from=node_modules /node-deps /node-deps
104+
COPY --link --from=node_modules /node-deps /node-deps
105+
COPY --link --from=node_modules /node-deps /node-deps
106+
COPY --link --from=node_modules /node-deps /node-deps
107+
COPY --link --from=node_modules /node-deps /node-deps
108+
COPY --link --from=node_modules /node-deps /node-deps
109+
COPY --link --from=node_modules /node-deps /node-deps
110+
COPY --link --from=node_modules /node-deps /node-deps
100111
COPY --link --from=checkmake /checkmake /usr/bin/checkmake
112+
COPY --link --from=node_modules /node-deps /node-deps
113+
COPY --link --from=node_modules /node-deps /node-deps
114+
COPY --link --from=node_modules /node-deps /node-deps
115+
COPY --link --from=node_modules /node-deps /node-deps
101116
COPY --link --from=protolint /usr/local/bin/protolint /usr/bin/
102117
COPY --link --from=gitleaks /usr/bin/gitleaks /usr/bin/
118+
COPY --link --from=node_modules /node-deps /node-deps
119+
COPY --link --from=node_modules /node-deps /node-deps
120+
COPY --link --from=node_modules /node-deps /node-deps
121+
COPY --link --from=node_modules /node-deps /node-deps
122+
COPY --link --from=node_modules /node-deps /node-deps
123+
COPY --link --from=node_modules /node-deps /node-deps
103124
COPY --link --from=cargo /bin/* /usr/bin/
104125
#COPY__END
105126

@@ -164,11 +185,12 @@ RUN echo \
164185

165186
#PIPVENV__END
166187

167-
FROM python:3.11.3-alpine3.17 AS node_modules
188+
FROM --platform=$BUILDPLATFORM python:3.11.3-alpine3.17 AS node_modules
168189

169-
#NODE_MODULES_APK__START
170-
RUN apk add --update --no-cache gcc musl-dev libffi-dev rust cargo cmake make g++ openssl-dev
171-
#NODE_MODULES_APK__END
190+
#NPM_APK__START
191+
RUN apk add --update --no-cache \
192+
npm
193+
#NPM_APK__END
172194

173195
############################
174196
# Install NPM dependencies #

0 commit comments

Comments
 (0)