test: add fedora docker file

This commit is contained in:
Amin Yahyaabadi 2022-07-10 16:44:43 -07:00
parent dda085d620
commit 7698fea0a5
3 changed files with 42 additions and 2 deletions

View File

@ -92,6 +92,7 @@ jobs:
- "ubuntu_node.dockerfile" - "ubuntu_node.dockerfile"
- "ubuntu_20.04_node.dockerfile" - "ubuntu_20.04_node.dockerfile"
- "arch_node.dockerfile" - "arch_node.dockerfile"
- "fedora_node.dockerfile"
node: node:
- 14 - 14
pnpm: pnpm:

View File

@ -7,17 +7,18 @@ RUN pacman-db-upgrade
# nodejs # nodejs
RUN pacman -S --noconfirm --needed nodejs RUN pacman -S --noconfirm --needed nodejs
# curl for downloading setup-cpp
RUN pacman -S --noconfirm --needed curl
# add setup_cpp.js # add setup_cpp.js
COPY "./dist/" "/" COPY "./dist/" "/"
WORKDIR "/" WORKDIR "/"
# run installation # 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 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 # clean up
RUN pacman -Scc --noconfirm RUN pacman -Scc --noconfirm
#RUN rm -rf /home/yay/.cache/*
RUN rm -rf /tmp/* RUN rm -rf /tmp/*
CMD source ~/.cpprc CMD source ~/.cpprc

View File

@ -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"]