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
+4 -57
View File
@@ -13,65 +13,9 @@ jobs:
QT_SELECT: opt-qt512
MAKE_JOBS: 2
docker:
- image: circleci/buildpack-deps:xenial
- image: username223/ovras-appimage-build
steps:
- checkout
- run: sudo apt-get update && sudo apt-get upgrade -y
- run:
name: Get apt-key
# Required for LLVM
command: |
sudo apt-get install software-properties-common apt-transport-https -y
- run:
name: Get LLVM repos
command: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main'
sudo add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
sudo apt-get update -qq
- run:
name: Install LLVM-8 binaries
# clang is required due to a check by Qmake.
# clang-tidy-8 has new errors compared to clang-tidy-7, so we haven't upgraded.
command: |
sudo apt-get install clang-format-8 -y
sudo apt-get install clang-tidy-7 -y
sudo apt-get install clang-8 -y
sudo apt-get install clang -y
- run:
name: Run clang-format
command: python ./build_scripts/run-clang-format.py ./src -r --color always --clang-format-executable clang-format-8
- run:
name: Install g++
command: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-7 -y
- run:
name: Add required QT repos
command: |
sudo add-apt-repository ppa:beineri/opt-qt-5.12.2-xenial -y
sudo apt-get update -qq
- run: sudo apt-get install build-essential libgl1-mesa-dev -y
- run:
name: Install QT packages
command: |
sudo apt-get install qt512-meta-minimal qt512multimedia qt512declarative qt512quickcontrols2 qt512quickcontrols qt512tools qt512imageformats qt512svg qt512base qtchooser -y
- run:
name: Install X11 packages
command: sudo apt-get install libx11-dev libxt-dev libxtst-dev -y
- run:
name: Install pulse packages
command: sudo apt-get install libpulse-dev -y
- run:
name: Install bear/clang-tidy
command: sudo apt-get install bear clang-tidy -y
- run:
name: Install SDL libs
command: sudo apt-get install libsdl2-2.0-0 -y
- run:
name: Set up qtchooser
command: qtchooser -install opt-qt512 /opt/qt512/bin/qmake
- run:
name: Give build scripts +x
command: |
@@ -79,6 +23,9 @@ jobs:
chmod +x ./build_scripts/linux/format.sh
chmod +x ./build_scripts/linux/run-clang-tidy.sh
chmod +x ./build_scripts/linux/verify_formatting.sh
- run:
name: Run clang-format
command: python ./build_scripts/run-clang-format.py ./src -r --color always --clang-format-executable clang-format-8
- run:
name: Update version number
command: |