diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4eb72e8b..81ef2933 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -87,6 +87,9 @@ jobs: matrix: os: - ubuntu-20.04 + container: + - "ubuntu_node.dockerfile" + - "ubuntu_stable_node.dockerfile" node: - 14 pnpm: @@ -124,6 +127,6 @@ jobs: - name: Build id: docker_build run: | - pnpm build.docker + docker build -f ./building/docker/${{ matrix.container }} -t setup_cpp . env: ACTIONS_ALLOW_UNSECURE_COMMANDS: true diff --git a/building/docker/ubuntu_stable_node.dockerfile b/building/docker/ubuntu_stable_node.dockerfile new file mode 100644 index 00000000..029a266c --- /dev/null +++ b/building/docker/ubuntu_stable_node.dockerfile @@ -0,0 +1,24 @@ +FROM ubuntu:latest + +# set time-zone +ENV TZ=Canada/Pacific +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# The nodejs that ships on ubuntu:latest servers is too old. +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update -qq +RUN apt-get install -y --no-install-recommends curl gnupg ca-certificates +RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - +RUN apt-get install -y --no-install-recommends nodejs + +# add setup_cpp.js +ADD "./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 + +# reload the environment and print the versions +CMD source ~/.profile && clang --version && cmake --version && ninja --version && ccache --version && cppcheck --version && vcpkg --version && doxygen --version && dot --version && gcovr --version + +ENTRYPOINT [ "/bin/sh" ] \ No newline at end of file