mirror of
https://github.com/clementine-player/Clementine
synced 2024-12-25 09:10:49 +01:00
292 lines
7.0 KiB
YAML
292 lines
7.0 KiB
YAML
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
|
|
parameters:
|
|
build:
|
|
type: string
|
|
default: ubuntu-xenial
|
|
steps:
|
|
- run:
|
|
name: Create artifact output directory
|
|
command: mkdir -p /tmp/artifacts/<< parameters.build >>
|
|
- run:
|
|
name: Copy deb to artifacts directory
|
|
command: cp bin/clementine_*.deb /tmp/artifacts/<< parameters.build >>/
|
|
- persist_to_workspace:
|
|
root: /tmp/artifacts/<< parameters.build >>
|
|
paths:
|
|
- "*"
|
|
- store_artifacts:
|
|
path: /tmp/artifacts/<< parameters.build >>
|
|
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
|
|
install_bionic_dependencies:
|
|
description: Install Bionic dependencies
|
|
steps:
|
|
- run:
|
|
name: Install Dependencies
|
|
command: >
|
|
apt-get update && apt-get install -y
|
|
cmake
|
|
fakeroot
|
|
gettext
|
|
git
|
|
libboost-dev
|
|
libboost-serialization-dev
|
|
libcdio-cdda2
|
|
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-plugins
|
|
libqjson-dev
|
|
libqt4-dev
|
|
libqt4-opengl-dev
|
|
libqtwebkit-dev
|
|
libsparsehash-dev
|
|
libsqlite3-dev
|
|
libtag1-dev
|
|
libusbmuxd-dev
|
|
protobuf-compiler
|
|
qt4-dev-tools
|
|
ssh
|
|
install_disco_dependencies:
|
|
description: Install Disco dependencies
|
|
steps:
|
|
- run:
|
|
name: Install Dependencies
|
|
command: >
|
|
apt-get update && apt-get install -y
|
|
cmake
|
|
fakeroot
|
|
gettext
|
|
git
|
|
libboost-dev
|
|
libboost-serialization-dev
|
|
libcdio-cdda2
|
|
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-plugins
|
|
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_disco_dependencies
|
|
- checkout
|
|
- cmake_debian:
|
|
distribution: disco
|
|
arch: amd64
|
|
- make_deb
|
|
- copy_artifacts:
|
|
build: ubuntu-disco
|
|
|
|
build_disco_32:
|
|
docker:
|
|
- image: i386/ubuntu:disco
|
|
|
|
steps:
|
|
- install_disco_dependencies
|
|
- checkout
|
|
- cmake_debian:
|
|
distribution: disco
|
|
arch: i386
|
|
- make_deb
|
|
- copy_artifacts:
|
|
build: ubuntu-disco
|
|
|
|
build_bionic_64:
|
|
docker:
|
|
- image: ubuntu:bionic
|
|
|
|
steps:
|
|
- install_bionic_dependencies
|
|
- checkout
|
|
- cmake_debian:
|
|
distribution: bionic
|
|
arch: amd64
|
|
- make_deb
|
|
- copy_artifacts:
|
|
build: ubuntu-bionic
|
|
|
|
build_bionic_32:
|
|
docker:
|
|
- image: i386/ubuntu:bionic
|
|
|
|
steps:
|
|
- install_bionic_dependencies
|
|
- checkout
|
|
- cmake_debian:
|
|
distribution: bionic
|
|
arch: i386
|
|
- make_deb
|
|
- copy_artifacts:
|
|
build: ubuntu-bionic
|
|
|
|
build_xenial_64:
|
|
docker:
|
|
- image: ubuntu:xenial
|
|
|
|
steps:
|
|
- install_xenial_dependencies
|
|
- checkout
|
|
- cmake_debian:
|
|
distribution: xenial
|
|
arch: amd64
|
|
- make_deb
|
|
- copy_artifacts:
|
|
build: ubuntu-xenial
|
|
|
|
build_xenial_32:
|
|
docker:
|
|
- image: i386/ubuntu:xenial
|
|
|
|
steps:
|
|
- install_xenial_dependencies
|
|
- checkout
|
|
- cmake_debian:
|
|
distribution: xenial
|
|
arch: i386
|
|
- make_deb
|
|
- copy_artifacts:
|
|
build: ubuntu-xenial
|
|
|
|
upload_artifacts:
|
|
docker:
|
|
- image: google/cloud-sdk
|
|
steps:
|
|
- run:
|
|
name: Google Cloud Auth
|
|
command: |
|
|
echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account circleci-uploader@clementine-data.iam.gserviceaccount.com --key-file=-
|
|
gcloud --quiet config set project clementine-data
|
|
- attach_workspace:
|
|
at: /tmp/artifacts
|
|
- run:
|
|
name: Upload Artifact to Google Cloud
|
|
command: gsutil rsync -r /tmp/artifacts gs://builds.clementine-player.org/
|
|
|
|
workflows:
|
|
version: 2
|
|
build_all:
|
|
jobs:
|
|
- build_xenial_32
|
|
- build_xenial_64
|
|
- build_bionic_32
|
|
- build_bionic_64
|
|
- build_disco_32
|
|
- build_disco_64
|
|
|
|
- upload_artifacts:
|
|
requires:
|
|
- build_xenial_32
|
|
- build_xenial_64
|
|
- build_bionic_32
|
|
- build_bionic_64
|
|
- build_disco_32
|
|
- build_disco_64
|