version: 2.0 jobs: build: branches: ignore: - /docs-*/ - /do-not-run-ci-*/ - /only-appveyor-ci-*/ - /only-travis-ci-*/ environment: QMAKE_SPEC: linux-g++ QT_SELECT: opt-qt512 MAKE_JOBS: 2 docker: - image: circleci/buildpack-deps:xenial 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 qt512websockets -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: | chmod +x ./build_scripts/linux/build_linux.sh 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: Update version number command: | python ./build_scripts/append_to_version_file.py $(git rev-parse HEAD | cut -c -8) cat ./build_scripts/compile_version_string.txt - run: name: Run build script command: ./build_scripts/linux/build_linux.sh - run: name: Get qtdeploylinux command: | wget -c -nv https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage chmod a+x ./linuxdeployqt-continuous-x86_64.AppImage - run: name: Create AppImage command: ./build_scripts/linux/appimage.sh - run: name: Copy Artifacts command: | mkdir artifacts cp -v ./OpenVR_Advanced_Settings-*.AppImage ./artifacts/ - store_artifacts: path: ./artifacts/