Add dedicated image for CircleCI builds

This essentially just bakes in all the dependencies and other third
party tools that we need, preventing them from being downloaded on every
new CI run.

TravisCI does not have non-enterprise support for custom images without
a lot of hassle.
This commit is contained in:
Vasily Utkin
2021-01-01 23:28:19 +01:00
committed by username223
parent 11c0231a6a
commit 44a5d3eed0
3 changed files with 65 additions and 57 deletions
@@ -0,0 +1,52 @@
FROM circleci/buildpack-deps:xenial
# Make sure all packages are up to date for the install
RUN sudo apt-get update && sudo apt-get upgrade
# Required for LLVM
RUN sudo apt-get install software-properties-common apt-transport-https -y
# Install LLVM7 and LLVM8
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
RUN sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main'
RUN sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
RUN sudo apt-get update -qq
# Install LLVM8 binaries
# clang is reuired due to a check by qmake
# clang-tidy-8 has new errors compared to clang-tidy-7, so we haven't upgraded.
RUN sudo apt-get install clang-format-8 -y
RUN sudo apt-get install clang-tidy-7 -y
RUN sudo apt-get install clang-8 -y
RUN sudo apt-get install clang -y
# Install g++
RUN sudo add-apt-repository ppa:ubuntu-toolchain-r/test
RUN sudo apt-get update
RUN sudo apt-get install g++-7 -y
# Add Qt 5.12 repos
RUN sudo add-apt-repository ppa:beineri/opt-qt-5.12.2-xenial -y
RUN sudo apt-get update -qq
# Get build-essential and libgl1-mesa-dev
RUN sudo apt-get install build-essential libgl1-mesa-dev -y
# Install Qt packages
RUN sudo apt-get install qt512-meta-minimal qt512multimedia qt512declarative qt512quickcontrols2 qt512quickcontrols qt512tools qt512imageformats qt512svg qt512base qtchooser -y
# Install X11 packages
RUN sudo apt-get install libx11-dev libxt-dev libxtst-dev -y
# Install PulseAudio packages
RUN sudo apt-get install libpulse-dev -y
# Install bear/clang-tidy
RUN sudo apt-get install bear clang-tidy -y
# Install SDL libs
RUN sudo apt-get install libsdl2-2.0-0 -y
# Set up qtchooser
RUN qtchooser -install opt-qt512 /opt/qt512/bin/qmake
+9
View File
@@ -0,0 +1,9 @@
# CI Build Images for OVRAS
Docker images for use on CI.
Can be built with `sudo docker build -t [tagname] . -f DockerfileName`.
Must be uploaded to DockerHub through `sudo docker push [tagname]` and then used in the CI file via the `image: ` command.