* fixed audio override key unset issues * Add apt-transport-https to CircleCI config CircleCI fails with E: The method driver /usr/lib/apt/methods/https could not be found. when attempting to get the LLVM key. This is suspected to happen because of an update to the image. Co-authored-by: Vasily <vautkin@teknik.io>
184 lines
7.2 KiB
YAML
184 lines
7.2 KiB
YAML
workflows:
|
|
version: 2
|
|
gcc_1:
|
|
jobs:
|
|
- gcc
|
|
clang_1:
|
|
jobs:
|
|
- clang
|
|
clang_tidy:
|
|
jobs:
|
|
- clang-tidy
|
|
|
|
update_and_install_prereqs: &update_and_install_prereqs
|
|
- checkout
|
|
- run: apt-get update && apt-get upgrade -y
|
|
- run:
|
|
name: Get wget and apt-key
|
|
command: |
|
|
apt-get install wget -y
|
|
apt-get install software-properties-common apt-transport-https -y
|
|
- run:
|
|
name: Set up LLVM-8 repo
|
|
command: |
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
|
add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main'
|
|
add-apt-repository 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
|
|
apt update -qq
|
|
- run:
|
|
name: Install LLVM-8 binaries
|
|
command: |
|
|
apt install clang-format-8 -y
|
|
apt install clang-tidy-7 -y
|
|
apt install clang-8 -y
|
|
apt 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++-7
|
|
command: |
|
|
add-apt-repository ppa:ubuntu-toolchain-r/test
|
|
apt update
|
|
apt install g++-7 -y
|
|
- run:
|
|
name: Add required QT repos
|
|
command: |
|
|
add-apt-repository ppa:beineri/opt-qt-5.12.2-xenial -y
|
|
apt-get update -qq
|
|
- run: apt-get install build-essential libgl1-mesa-dev -y
|
|
- run:
|
|
name: Install QT packages
|
|
command: |
|
|
apt-get install qt512-meta-minimal qt512multimedia qt512declarative qt512quickcontrols2 qt512quickcontrols qt512tools qt512imageformats qt512svg qt512base qtchooser -y
|
|
- run:
|
|
name: Install X11 packages
|
|
command: apt-get install libx11-dev libxt-dev libxtst-dev -y
|
|
- run:
|
|
name: Install bear/clang-tidy
|
|
command: apt-get install bear clang-tidy -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: Run build script
|
|
command: ./build_scripts/linux/build_linux.sh
|
|
|
|
jobs:
|
|
gcc:
|
|
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 -y
|
|
- run:
|
|
name: Install X11 packages
|
|
command: sudo apt-get install libx11-dev libxt-dev libxtst-dev -y
|
|
- run:
|
|
name: Install bear/clang-tidy
|
|
command: sudo apt-get install bear clang-tidy -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/
|
|
|
|
clang:
|
|
environment:
|
|
QMAKE_SPEC: linux-clang
|
|
QT_SELECT: opt-qt512
|
|
MAKE_JOBS: 2
|
|
docker:
|
|
- image: "ubuntu:xenial"
|
|
steps: *update_and_install_prereqs
|
|
|
|
clang-tidy:
|
|
environment:
|
|
QMAKE_SPEC: linux-clang
|
|
QT_SELECT: opt-qt512
|
|
USE_TIDY: TRUE
|
|
CLANG_TIDY_EXECUTABLE: clang-tidy-7
|
|
MAKE_JOBS: 2
|
|
docker:
|
|
- image: "ubuntu:xenial"
|
|
steps: *update_and_install_prereqs
|