version: 2.1 commands: cmake_debian: description: Configure build parameters: distribution: type: string default: xenial arch: type: string default: amd64 steps: - run: name: cmake command: > cmake .. -DWITH_DEBIAN=ON -DDEB_ARCH=<< parameters.arch >> -DDEB_DIST=<< parameters.distribution >> -DFORCE_GIT_VERSION= -DENABLE_SPOTIFY_BLOB=OFF working_directory: bin make_deb: description: Build deb steps: - run: name: make deb command: make deb working_directory: bin copy_artifacts: description: Copy build artifacts steps: - run: name: Create artifact output directory command: mkdir -p /tmp/artifacts - run: name: Copy deb to artifacts directory command: cp bin/clementine_*.deb /tmp/artifacts install_xenial_dependencies: description: Install Xenial dependencies steps: - run: name: Install Dependencies command: > apt-get update && apt-get install -y cmake fakeroot gettext git libboost-dev libboost-serialization-dev libcdio-cdda1 libcdio-dev libchromaprint-dev libcrypto++-dev libfftw3-dev libglew1.5-dev libgpod-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev liblastfm-dev libmtp-dev libmygpo-qt-dev libplist-dev libprotobuf-dev libpulse-dev libqca2-dev libqca2-plugin-ossl libqjson-dev libqt4-dev libqt4-opengl-dev libqtwebkit-dev libsparsehash-dev libsqlite3-dev libtag1-dev libusbmuxd-dev protobuf-compiler qt4-dev-tools ssh jobs: build_disco_64: docker: - image: ubuntu:disco steps: - install_xenial_dependencies - checkout - cmake_debian: distribution: disco arch: amd64 - make_deb - copy_artifacts - store_artifacts: path: /tmp/artifacts build_disco_32: docker: - image: i386/ubuntu:disco steps: - install_xenial_dependencies - checkout - cmake_debian: distribution: disco arch: i386 - make_deb - copy_artifacts - store_artifacts: path: /tmp/artifacts build_bionic_64: docker: - image: ubuntu:bionic steps: - install_xenial_dependencies - checkout - cmake_debian: distribution: bionic arch: amd64 - make_deb - copy_artifacts - store_artifacts: path: /tmp/artifacts build_bionic_32: docker: - image: i386/ubuntu:bionic steps: - install_xenial_dependencies - checkout - cmake_debian: distribution: bionic arch: i386 - make_deb - copy_artifacts - store_artifacts: path: /tmp/artifacts build_xenial_64: docker: - image: ubuntu:xenial steps: - install_xenial_dependencies - checkout - cmake_debian: distribution: xenial arch: amd64 - make_deb - copy_artifacts - store_artifacts: path: /tmp/artifacts build_xenial_32: docker: - image: i386/ubuntu:xenial steps: - install_xenial_dependencies - checkout - cmake_debian: distribution: xenial arch: i386 - make_deb - copy_artifacts - store_artifacts: path: /tmp/artifacts workflows: version: 2 build_all: jobs: - build_xenial_32 - build_xenial_64 - build_bionic_32 - build_bionic_64 - build_disco_32 - build_disco_64