FROM scratch as base ENV VERSION=22.4.0 ENV SRC_HASH=b62cd83c9a57a11349883f89b1727a16e66c02eb6255a4bf32714ff5d93165f5 ENV SRC_FILE=node-v${VERSION}.tar.gz ENV SRC_SITE=https://nodejs.org/dist/v${VERSION}/${SRC_FILE} ENV CFLAGS="-march=x86-64 -mtune=generic -O2" FROM base as fetch ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . FROM fetch as build COPY --from=stagex/busybox . / COPY --from=stagex/gcc . / COPY --from=stagex/binutils . / COPY --from=stagex/make . / COPY --from=stagex/musl . / COPY --from=stagex/openssl . / COPY --from=stagex/python . / COPY --from=stagex/bzip2 . / COPY --from=stagex/ninja . / COPY --from=stagex/zlib . / COPY --from=stagex/linux-headers . / RUN tar -xf ${SRC_FILE} WORKDIR node-v${VERSION} RUN --network=none <<-EOF set -eux python configure.py \ --without-snapshot make BUILDTYPE=Release EOF FROM build as install RUN --network=none <<-EOF set -eux make DESTDIR=/rootfs install find /rootfs -exec touch -hcd "@0" "{}" + EOF FROM stagex/filesystem as package COPY --from=install /rootfs/. /