@@ -112,26 +112,85 @@ jobs:
112
112
- name : Init builder
113
113
run : docker buildx create --name builder --bootstrap --use
114
114
115
- - name : Run Buildx
115
+ - name : Build base image
116
116
run : |
117
117
ARCH=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}
118
118
NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}
119
119
TAG=$ARCH-alpine-lib-base-node-$NODE_VERSION
120
120
docker --debug buildx build --progress=plain --no-cache \
121
121
--platform linux/${{ matrix.linux_arch }} \
122
122
--build-arg="ARCH=$ARCH" \
123
- --build-arg="NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }} " \
123
+ --build-arg="NODE_VERSION=$NODE_VERSION " \
124
124
--output type=oci,dest=alpine-node-base,platform-split=false \
125
125
-f ./.github/docker/Dockerfile.musl \
126
126
-t $ARCH-alpine-lib-base-node-$NODE_VERSION \
127
127
.
128
128
129
- - id : upload
130
- name : Upload prebuild
129
+ - id : upload-base-image
130
+ name : Upload base image
131
131
uses : actions/upload-artifact@v4
132
132
with :
133
- name : ${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}-alpine-lib- base-node-${{ steps.get_nodejs_version.outputs.version }}
133
+ name : ${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}-alpine-base-node-${{ steps.get_nodejs_version.outputs.version }}
134
134
path : alpine-node-base
135
135
if-no-files-found : ' error'
136
136
retention-days : 30
137
- compression-level : 0
137
+ compression-level : 0
138
+
139
+ - name : Build libmongocrypt
140
+ run : |
141
+ docker load --input alpine-node-base
142
+ ARCH=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}
143
+ NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}
144
+ TAG=$ARCH-alpine-libmongocrypt-base-node-$NODE_VERSION
145
+ docker --debug buildx build --progress=plain --no-cache \
146
+ --platform linux/${{ matrix.linux_arch }} \
147
+ --build-arg="ARCH=$ARCH" \
148
+ --build-arg="NODE_VERSION=$NODE_VERSION" \
149
+ --output type=oci,dest=alpine-libmongocrypt-base,platform-split=false \
150
+ -f ./.github/docker/AddLibmongocrypt.musl \
151
+ -t $ARCH-alpine-libmongocrypt-node-$NODE_VERSION \
152
+ .
153
+
154
+ - id : upload-image-with-libmongocrypt
155
+ name : Upload libmongocrypt
156
+ uses : actions/upload-artifact@v4
157
+ with :
158
+ name : ${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}-alpine-libmongocrypt-node-${{ steps.get_nodejs_version.outputs.version }}
159
+ path : alpine-libmongocrypt-base
160
+ if-no-files-found : ' error'
161
+ retention-days : 30
162
+ compression-level : 0
163
+
164
+ - name : Build Prebuilds
165
+ run : |
166
+ docker load --input alpine-libmongocrypt-base
167
+ ARCH=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}
168
+ NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}
169
+ TAG=$ARCH-alpine-prebuilds-base-node-$NODE_VERSION
170
+ docker --debug buildx build --progress=plain --no-cache \
171
+ --platform linux/${{ matrix.linux_arch }} \
172
+ --build-arg="ARCH=$ARCH" \
173
+ --build-arg="NODE_VERSION=$NODE_VERSION" \
174
+ --output type=oci,dest=alpine-prebuilds-base,platform-split=false \
175
+ -f ./.github/docker/Prebuilds.musl \
176
+ -t $ARCH-alpine-prebuilds-node-$NODE_VERSION \
177
+ .
178
+
179
+ - id : upload-images-with-prebuilds
180
+ name : Upload libmongocrypt
181
+ uses : actions/upload-artifact@v4
182
+ with :
183
+ name : ${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}-alpine-prebuilds-node-${{ steps.get_nodejs_version.outputs.version }}
184
+ path : alpine-prebuilds-base
185
+ if-no-files-found : ' error'
186
+ retention-days : 30
187
+ compression-level : 0
188
+
189
+ # - name: Test
190
+ # run: |
191
+ # docker load --input alpine-prebuilds-base
192
+ # ARCH=${{ matrix.linux_arch == 'arm64' && 'arm64v8' || matrix.linux_arch }}
193
+ # NODE_VERSION=${{ steps.get_nodejs_version.outputs.version }}
194
+ # TAG=$ARCH-alpine-prebuilds-base-node-$NODE_VERSION
195
+ # docker run --platform linux/${{ matrix.linux_arch }} $ARCH-alpine-prebuilds-node-$NODE_VERSION bash -C "npm test"
196
+
0 commit comments