diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 955a437f..36539b1a 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -92,6 +92,7 @@ jobs: - "ubuntu_node.dockerfile" - "ubuntu_20.04_node.dockerfile" - "arch_node.dockerfile" + - "fedora_node.dockerfile" node: - 14 pnpm: diff --git a/dev/docker/arch_node.dockerfile b/dev/docker/arch_node.dockerfile index c0e06024..d01e310f 100644 --- a/dev/docker/arch_node.dockerfile +++ b/dev/docker/arch_node.dockerfile @@ -7,17 +7,18 @@ RUN pacman-db-upgrade # nodejs RUN pacman -S --noconfirm --needed nodejs +# curl for downloading setup-cpp +RUN pacman -S --noconfirm --needed curl + # add setup_cpp.js COPY "./dist/" "/" WORKDIR "/" # run installation -RUN pacman -S --noconfirm --needed curl RUN node ./setup_cpp.js --compiler llvm --cmake true --ninja true --cppcheck true --ccache true --vcpkg true --doxygen true --gcovr true --task true # clean up RUN pacman -Scc --noconfirm -#RUN rm -rf /home/yay/.cache/* RUN rm -rf /tmp/* CMD source ~/.cpprc diff --git a/dev/docker/fedora_node.dockerfile b/dev/docker/fedora_node.dockerfile new file mode 100644 index 00000000..b1ed4b1e --- /dev/null +++ b/dev/docker/fedora_node.dockerfile @@ -0,0 +1,38 @@ +## base image +FROM fedora as base + +RUN dnf -y check-update + +# nodejs +RUN dnf -y install nodejs + +# curl for downloading setup-cpp +RUN dnf -y install curl + +# add setup_cpp.js +COPY "./dist/" "/" +WORKDIR "/" + +# run installation +RUN node ./setup_cpp.js --compiler llvm --cmake true --ninja true --cppcheck true --ccache true --vcpkg true --doxygen true --gcovr true --task true + +# clean up +RUN rm -rf /tmp/* + +CMD source ~/.cpprc +ENTRYPOINT [ "/bin/bash" ] + +#### Building +FROM base AS builder +COPY ./dev/cpp_vcpkg_project /home/app +WORKDIR /home/app +RUN bash -c 'source ~/.cpprc \ + && task build' + +### Running environment +# use a distroless image or ubuntu:22.04 if you wish +FROM gcr.io/distroless/cc +# copy the built binaries and their runtime dependencies +COPY --from=builder /home/app/build/my_exe/Release/ /home/app/ +WORKDIR /home/app/ +ENTRYPOINT ["./my_exe"]