From 4df8c209810afcdae2905555cdea9e0ff00db9ce Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 14:33:40 +0100 Subject: [PATCH 01/38] Add CircleCI config --- .circleci/config.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..2f7e463db --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,16 @@ +version: 2 +jobs: + build: + docker: + - image: gcr.io/clementine-data/slave-ubuntu-bionic-64 + + steps: + - checkout + - run: + name: cmake + command: cmake .. + working_directory: bin + - run: + name: make + command: make + working_directory: bin From a0c3eb82343a8244acb7a749ced0edd3545f20c4 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 14:50:33 +0100 Subject: [PATCH 02/38] Build from base ubuntu image --- .circleci/config.yml | 46 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2f7e463db..9afdb3f7d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,13 +2,55 @@ version: 2 jobs: build: docker: - - image: gcr.io/clementine-data/slave-ubuntu-bionic-64 + - image: ubuntu:xenial steps: + - run: + name: Install Dependencies + command: > + apt-get update && apt-get install + cmake + fakeroot + gettext + 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 - checkout - run: name: cmake - command: cmake .. + command: > + cmake .. + -DWITH_DEBIAN=ON + -DDEB_ARCH=amd64 + -DDEB_DIST=xenial + -DFORCE_GIT_VERSION= + -DENABLE_SPOTIFY_BLOB=OFF working_directory: bin - run: name: make From 8581e22e2a773f660ea2a99646c2a36209eec6b3 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 14:52:00 +0100 Subject: [PATCH 03/38] Non-interactive apt-get install --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9afdb3f7d..aff45c98e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ jobs: - run: name: Install Dependencies command: > - apt-get update && apt-get install + apt-get update && apt-get install -y cmake fakeroot gettext From efce3603e88dac33c95184a46a4ea6f7c2fc321f Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:05:12 +0100 Subject: [PATCH 04/38] Add git and ssh as dependencies --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index aff45c98e..e79a911ac 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,6 +12,7 @@ jobs: cmake fakeroot gettext + git libboost-dev libboost-serialization-dev libcdio-cdda1 @@ -41,6 +42,7 @@ jobs: libusbmuxd-dev protobuf-compiler qt4-dev-tools + ssh - checkout - run: name: cmake From 49428d9a86cc99f95f0a91c2aec96eda5cd2bf2e Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:05:24 +0100 Subject: [PATCH 05/38] Store debian artifact --- .circleci/config.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index e79a911ac..ee7b28633 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -58,3 +58,11 @@ jobs: name: make command: make working_directory: bin + - 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 + - store_artifacts: + path: /tmp/artifacts From 2cd6fcabd60f4dca76040a30eb42e16306a05c9b Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:26:30 +0100 Subject: [PATCH 06/38] Build 32-bit & 64-bit xenial debs --- .circleci/config.yml | 99 +++++++++++++++++++++++++++++++++----------- 1 file changed, 74 insertions(+), 25 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ee7b28633..a28cf72b4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,9 +1,43 @@ version: 2 -jobs: - build: - docker: - - image: ubuntu:xenial - +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 @@ -43,26 +77,41 @@ jobs: protobuf-compiler qt4-dev-tools ssh + +jobs: + build_xenial_64: + docker: + - image: ubuntu:xenial + + steps: + - install_xenial_dependencies - checkout - - run: - name: cmake - command: > - cmake .. - -DWITH_DEBIAN=ON - -DDEB_ARCH=amd64 - -DDEB_DIST=xenial - -DFORCE_GIT_VERSION= - -DENABLE_SPOTIFY_BLOB=OFF - working_directory: bin - - run: - name: make - command: make - working_directory: bin - - 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 + - cmake_linux: + 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_linux: + 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 From cc80754f9ae3d4506c786996aebdf49e29948260 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:27:54 +0100 Subject: [PATCH 07/38] Bump circleci version for commands --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a28cf72b4..dd2058b38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,4 @@ -version: 2 +version: 2.1 commands: cmake_debian: description: Configure build From cab5ebc95e0923d60879b97f6ee3564d79ca16e1 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:33:28 +0100 Subject: [PATCH 08/38] Fix cmake_debian --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd2058b38..3691e9f77 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -86,7 +86,7 @@ jobs: steps: - install_xenial_dependencies - checkout - - cmake_linux: + - cmake_debian: distribution: xenial arch: amd64 - make_deb @@ -101,7 +101,7 @@ jobs: steps: - install_xenial_dependencies - checkout - - cmake_linux: + - cmake_debian: distribution: xenial arch: i386 - make_deb From 321bceb4bf6f2604aa971f444056798118674bf5 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:42:20 +0100 Subject: [PATCH 09/38] Add bionic and disco builds --- .circleci/config.yml | 60 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3691e9f77..8ea56e3df 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -79,6 +79,66 @@ commands: 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 From dc856145964d11cac9c5234cf36c89910db2b645 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:43:31 +0100 Subject: [PATCH 10/38] Add bionic & disco to workflow --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8ea56e3df..357f5ef88 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -175,3 +175,7 @@ workflows: jobs: - build_xenial_32 - build_xenial_64 + - build_bionic_32 + - build_bionic_64 + - build_disco_32 + - build_disco_64 From fe84eebae41d4be70aab3c945a4f4e745023c1d6 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:54:52 +0100 Subject: [PATCH 11/38] Update disco dependencies --- .circleci/config.yml | 45 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 357f5ef88..b4c15699a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -77,6 +77,47 @@ commands: 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-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: @@ -84,7 +125,7 @@ jobs: - image: ubuntu:disco steps: - - install_xenial_dependencies + - install_disco_dependencies - checkout - cmake_debian: distribution: disco @@ -99,7 +140,7 @@ jobs: - image: i386/ubuntu:disco steps: - - install_xenial_dependencies + - install_disco_dependencies - checkout - cmake_debian: distribution: disco From 335c8a5a900e25580e9e286e52d9565bb293a9ad Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 15:56:18 +0100 Subject: [PATCH 12/38] Update Bionic dependencies --- .circleci/config.yml | 45 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b4c15699a..c5dca6158 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -77,6 +77,47 @@ commands: 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: @@ -155,7 +196,7 @@ jobs: - image: ubuntu:bionic steps: - - install_xenial_dependencies + - install_bionic_dependencies - checkout - cmake_debian: distribution: bionic @@ -170,7 +211,7 @@ jobs: - image: i386/ubuntu:bionic steps: - - install_xenial_dependencies + - install_bionic_dependencies - checkout - cmake_debian: distribution: bionic From 43febfaf22d944bf80ba939d51bec3296e1cadd5 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 16:29:44 +0100 Subject: [PATCH 13/38] Fix dependency for disco --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c5dca6158..394811a6b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -147,7 +147,7 @@ commands: libprotobuf-dev libpulse-dev libqca2-dev - libqca2-plugin-ossl + libqca2-plugins libqjson-dev libqt4-dev libqt4-opengl-dev From bf5e074ef5dcea988fbc13c9a90b7185f7f5202a Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 16:56:37 +0100 Subject: [PATCH 14/38] Upload artifacts to GCP --- .circleci/config.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 394811a6b..a140c972b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,6 +36,22 @@ commands: - run: name: Copy deb to artifacts directory command: cp bin/clementine_*.deb /tmp/artifacts + upload_artifacts: + docker: + - image: google/cloud-sdk + parameters: + build: + type: string + default: ubuntu-xenial + steps: + - run: + name: Google Cloud Auth + command: | + echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=- + gcloud --quiet config set project clementine-data + - run: + name: Upload Artifact to Google Cloud + command: gsutil rsync -r /tmp/artifacts gs://builds.clementine-player.org/<< parameters.build >> install_xenial_dependencies: description: Install Xenial dependencies steps: @@ -175,6 +191,8 @@ jobs: - copy_artifacts - store_artifacts: path: /tmp/artifacts + - upload_artifacts: + build: ubuntu-disco build_disco_32: docker: @@ -190,6 +208,8 @@ jobs: - copy_artifacts - store_artifacts: path: /tmp/artifacts + - upload_artifacts: + build: ubuntu-disco build_bionic_64: docker: @@ -205,6 +225,8 @@ jobs: - copy_artifacts - store_artifacts: path: /tmp/artifacts + - upload_artifacts: + build: ubuntu-bionic build_bionic_32: docker: @@ -220,6 +242,8 @@ jobs: - copy_artifacts - store_artifacts: path: /tmp/artifacts + - upload_artifacts: + build: ubuntu-bionic build_xenial_64: docker: @@ -235,6 +259,8 @@ jobs: - copy_artifacts - store_artifacts: path: /tmp/artifacts + - upload_artifacts: + build: ubuntu-xenial build_xenial_32: docker: @@ -250,6 +276,8 @@ jobs: - copy_artifacts - store_artifacts: path: /tmp/artifacts + - upload_artifacts: + build: ubuntu-xenial workflows: version: 2 From d50645ea23eca99b0ff55d932863f9d82077a2bd Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 17:17:06 +0100 Subject: [PATCH 15/38] Upload all artifacts at end --- .circleci/config.yml | 66 +++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a140c972b..f452e22a6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -29,6 +29,10 @@ commands: working_directory: bin copy_artifacts: description: Copy build artifacts + parameters: + build: + type: string + default: ubuntu-xenial steps: - run: name: Create artifact output directory @@ -36,22 +40,6 @@ commands: - run: name: Copy deb to artifacts directory command: cp bin/clementine_*.deb /tmp/artifacts - upload_artifacts: - docker: - - image: google/cloud-sdk - parameters: - build: - type: string - default: ubuntu-xenial - steps: - - run: - name: Google Cloud Auth - command: | - echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=- - gcloud --quiet config set project clementine-data - - run: - name: Upload Artifact to Google Cloud - command: gsutil rsync -r /tmp/artifacts gs://builds.clementine-player.org/<< parameters.build >> install_xenial_dependencies: description: Install Xenial dependencies steps: @@ -190,9 +178,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts - - upload_artifacts: - build: ubuntu-disco + path: /tmp/artifacts/ubuntu-xenial build_disco_32: docker: @@ -207,9 +193,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts - - upload_artifacts: - build: ubuntu-disco + path: /tmp/artifacts/ubuntu-xenial build_bionic_64: docker: @@ -224,9 +208,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts - - upload_artifacts: - build: ubuntu-bionic + path: /tmp/artifacts/ubuntu-bionic build_bionic_32: docker: @@ -241,9 +223,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts - - upload_artifacts: - build: ubuntu-bionic + path: /tmp/artifacts/ubuntu-bionic build_xenial_64: docker: @@ -258,9 +238,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts - - upload_artifacts: - build: ubuntu-xenial + path: /tmp/artifacts/ubuntu-xenial build_xenial_32: docker: @@ -275,9 +253,20 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts - - upload_artifacts: - build: ubuntu-xenial + path: /tmp/artifacts/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 --key-file=- + gcloud --quiet config set project clementine-data + - run: + name: Upload Artifact to Google Cloud + command: gsutil rsync -r /tmp/artifacts gs://builds.clementine-player.org/ workflows: version: 2 @@ -289,3 +278,12 @@ workflows: - 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 From ff20bceaa3f8255e5c943167b9a15ea775f77f3a Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 17:17:44 +0100 Subject: [PATCH 16/38] Fix path for disco artifacts --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f452e22a6..21c18e1ee 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -178,7 +178,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts/ubuntu-xenial + path: /tmp/artifacts/ubuntu-disco build_disco_32: docker: @@ -193,7 +193,7 @@ jobs: - make_deb - copy_artifacts - store_artifacts: - path: /tmp/artifacts/ubuntu-xenial + path: /tmp/artifacts/ubuntu-disco build_bionic_64: docker: From 0c5143a542d74769542305e6dbe6e20b4e678e9f Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 17:25:11 +0100 Subject: [PATCH 17/38] Persist artifacts in workspace for upload --- .circleci/config.yml | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 21c18e1ee..983001ec0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -39,7 +39,13 @@ commands: command: mkdir -p /tmp/artifacts - run: name: Copy deb to artifacts directory - command: cp bin/clementine_*.deb /tmp/artifacts + 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: @@ -176,9 +182,8 @@ jobs: distribution: disco arch: amd64 - make_deb - - copy_artifacts - - store_artifacts: - path: /tmp/artifacts/ubuntu-disco + - copy_artifacts: + build: ubuntu-disco build_disco_32: docker: @@ -191,9 +196,8 @@ jobs: distribution: disco arch: i386 - make_deb - - copy_artifacts - - store_artifacts: - path: /tmp/artifacts/ubuntu-disco + - copy_artifacts: + build: ubuntu-disco build_bionic_64: docker: @@ -206,9 +210,8 @@ jobs: distribution: bionic arch: amd64 - make_deb - - copy_artifacts - - store_artifacts: - path: /tmp/artifacts/ubuntu-bionic + - copy_artifacts: + build: ubuntu-bionic build_bionic_32: docker: @@ -221,9 +224,8 @@ jobs: distribution: bionic arch: i386 - make_deb - - copy_artifacts - - store_artifacts: - path: /tmp/artifacts/ubuntu-bionic + - copy_artifacts: + build: ubuntu-bionic build_xenial_64: docker: @@ -236,9 +238,8 @@ jobs: distribution: xenial arch: amd64 - make_deb - - copy_artifacts - - store_artifacts: - path: /tmp/artifacts/ubuntu-xenial + - copy_artifacts: + build: ubuntu-xenial build_xenial_32: docker: @@ -251,9 +252,8 @@ jobs: distribution: xenial arch: i386 - make_deb - - copy_artifacts - - store_artifacts: - path: /tmp/artifacts/ubuntu-xenial + - copy_artifacts: + build: ubuntu-xenial upload_artifacts: docker: @@ -264,6 +264,8 @@ jobs: command: | echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --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/ From 9bf8e75a41fed5a3697d4879fb33535146c32314 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Wed, 2 Oct 2019 18:03:49 +0100 Subject: [PATCH 18/38] Fix creating output directory --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 983001ec0..297088fa2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,7 +36,7 @@ commands: steps: - run: name: Create artifact output directory - command: mkdir -p /tmp/artifacts + command: mkdir -p /tmp/artifacts/<< parameters.build >> - run: name: Copy deb to artifacts directory command: cp bin/clementine_*.deb /tmp/artifacts/<< parameters.build >>/ From 09f680a25409074606ca75be1066b566e8a79afa Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 00:00:28 +0100 Subject: [PATCH 19/38] Set service account name --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 297088fa2..6c1aed8eb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -262,7 +262,7 @@ jobs: - run: name: Google Cloud Auth command: | - echo $GCLOUD_SERVICE_KEY | gcloud auth activate-service-account --key-file=- + 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 From 55c0667ddc1f4447b4db6ac11c48da96816aabc5 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 00:19:45 +0100 Subject: [PATCH 20/38] Add mac circleci config --- .circleci/config.yml | 75 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6c1aed8eb..4fa17fa63 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -255,6 +255,79 @@ jobs: - copy_artifacts: build: ubuntu-xenial + build_mac: + macos: + xcode: "11.0.0" + environment: + Qt5_DIR: /usr/local/opt/qt5/lib/cmake + Qt5LinguistTools_DIR: /usr/local/Cellar/qt/5.11.2/lib/cmake/Qt5LinguistTools + GST_SCANNER_PATH: /usr/local/Cellar/gstreamer/1.14.4/libexec/gstreamer-1.0/gst-plugin-scanner + GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0 + steps: + - run: + name: Setup PATH + command: | + echo 'export PATH=/usr/local/opt/gettext/bin:$PATH' >> $BASH_ENV + source $BASH_ENV + - run: + name: Install dependencies from homebrew + command: > + brew install + boost + chromaprint + cmake + cryptopp + gettext + glib + liblastfm + pkgconfig + protobuf + protobuf-c + qt + - run: + name: Install sqlite + command: brew install sqlite --with-fts + - run: + name: Install gstreamer + command: brew install gstreamer gst-plugins-base + - run: + name: Install gst-plugins-good + command: brew install gst-plugins-good --with-flac + - run: + name: Install gst-plugins + command: brew install gst-plugins-bad gst-plugins-ugly + - run: + name: Install other dependencies + command: brew install chromaprint liblastfm + - checkout + - run: + name: Checkout qt5 branch + command: git checkout qt5 + - run: + name: cmake + command: cmake .. -DUSE_VISUALISATIONS=OFF + working_directory: bin + - run: + name: make + command: make + working_directory: bin + - run: + name: Build DMG + command: make dmg + working_directory: bin + - run: + name: Create artifact output directory + command: mkdir -p /tmp/artifacts/mac + - run: + name: Copy dmg to artifacts directory + command: cp bin/clementine*.dmg /tmp/artifacts/mac + - persist_to_workspace: + root: /tmp/artifacts/mac + paths: + - "*" + - store_artifacts: + path: /tmp/artifacts/mac + upload_artifacts: docker: - image: google/cloud-sdk @@ -280,6 +353,7 @@ workflows: - build_bionic_64 - build_disco_32 - build_disco_64 + - build_mac - upload_artifacts: requires: @@ -289,3 +363,4 @@ workflows: - build_bionic_64 - build_disco_32 - build_disco_64 + - build_mac From adcc89c7cd3fa1b2ac9549dfb79e7b92a4c88457 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 00:22:14 +0100 Subject: [PATCH 21/38] Also make install for mac --- .circleci/config.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4fa17fa63..ddc736f36 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -311,6 +311,10 @@ jobs: name: make command: make working_directory: bin + - run: + name: Copy icon file and resources + command: make install + working_directory: bin - run: name: Build DMG command: make dmg From d28b226bfc6ed5e8c4db76ed89dbe58ac538c67f Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 00:24:32 +0100 Subject: [PATCH 22/38] Do not use environment for macos --- .circleci/config.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ddc736f36..5049a5ea7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -258,15 +258,14 @@ jobs: build_mac: macos: xcode: "11.0.0" - environment: - Qt5_DIR: /usr/local/opt/qt5/lib/cmake - Qt5LinguistTools_DIR: /usr/local/Cellar/qt/5.11.2/lib/cmake/Qt5LinguistTools - GST_SCANNER_PATH: /usr/local/Cellar/gstreamer/1.14.4/libexec/gstreamer-1.0/gst-plugin-scanner - GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0 steps: - run: name: Setup PATH command: | + echo 'export Qt5_DIR=/usr/local/opt/qt5/lib/cmake' >> $BASH_ENV + echo 'export Qt5LinguistTools_DIR=/usr/local/Cellar/qt/5.11.2/lib/cmake/Qt5LinguistTools' >> $BASH_ENV + echo 'export GST_SCANNER_PATH=/usr/local/Cellar/gstreamer/1.14.4/libexec/gstreamer-1.0/gst-plugin-scanner' >> $BASH_ENV + echo 'export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0' >> $BASH_ENV echo 'export PATH=/usr/local/opt/gettext/bin:$PATH' >> $BASH_ENV source $BASH_ENV - run: From 2875ef8224f8de229696e324dd8d796b1efd3fab Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 00:52:22 +0100 Subject: [PATCH 23/38] Do not block upload on mac build --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5049a5ea7..9a026a882 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -366,4 +366,3 @@ workflows: - build_bionic_64 - build_disco_32 - build_disco_64 - - build_mac From bdd5180f040649512b8053a49d05fbd1dae35920 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 00:58:40 +0100 Subject: [PATCH 24/38] Use gcp context --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9a026a882..1583322a1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -359,6 +359,7 @@ workflows: - build_mac - upload_artifacts: + context: gcp requires: - build_xenial_32 - build_xenial_64 From e4666e4266ffd76d71c1cda02580628ba43c81d9 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 01:25:54 +0100 Subject: [PATCH 25/38] Add Fedora 29 builder --- .circleci/config.yml | 71 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1583322a1..00053db04 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -255,6 +255,76 @@ jobs: - copy_artifacts: build: ubuntu-xenial + build_fedora_29_64: + docker: + - image: fedora:29 + + steps: + - run: + name: Install Dependencies + command: > + dnf install --assumeyes + boost-devel + cmake + cryptopp-devel + desktop-file-utils + fftw-devel + gcc-c++ + gettext + git + glew-devel + gstreamer1-devel + gstreamer1-plugins-base-devel + libcdio-devel + libchromaprint-devel + libgpod-devel + liblastfm-devel + libmtp-devel + openssh + protobuf-compiler + protobuf-devel + pulseaudio-libs-devel + qca-devel + qca-ossl + qjson-devel + qt-devel + qtwebkit-devel + rpmdevtools + sha2-devel + sparsehash-devel + sqlite-devel + taglib-devel + tar + - run: + name: cmake + command: cmake .. + working_directory: bin + - run: + name: Build source tarball + command: ../dist/maketarball.sh + working_directory: bin + - run: + name: Move source tarball + command: mv clementine-*.tar.xz ~/rpmbuild/SOURCES + working_directory: bin + - run: + name: Build RPM + command: rpmbuild -ba ../dist/clementine.spec + working_directory: bin + - run: + name: Create artifact output directory + command: mkdir -p /tmp/artifacts/fedora-29 + - run: + name: Copy deb to artifacts directory + command: cp ~/rpmbuilds/RPMS/*/clementine-*.rpm /tmp/artifacts/fedora-29 + - persist_to_workspace: + root: /tmp/artifacts/fedora-29 + paths: + - "*" + - store_artifacts: + path: /tmp/artifacts/fedora-29 + + build_mac: macos: xcode: "11.0.0" @@ -367,3 +437,4 @@ workflows: - build_bionic_64 - build_disco_32 - build_disco_64 + - build_fedora_29 From 3c92b908ee61e5e68f24fce6e4fb418efe49c0e0 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 01:26:58 +0100 Subject: [PATCH 26/38] Fix workflow for Fedora 29 --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 00053db04..502447f8d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -426,6 +426,7 @@ workflows: - build_bionic_64 - build_disco_32 - build_disco_64 + - build_fedora_29_64 - build_mac - upload_artifacts: @@ -437,4 +438,4 @@ workflows: - build_bionic_64 - build_disco_32 - build_disco_64 - - build_fedora_29 + - build_fedora_29_64 From caee3b1a6fcfe0a5ed3949769e40f481a93db281 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 01:42:09 +0100 Subject: [PATCH 27/38] Actually checkout the code --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 502447f8d..a2fa8f3b9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -295,6 +295,7 @@ jobs: sqlite-devel taglib-devel tar + - checkout - run: name: cmake command: cmake .. From 5b1cbcf3f31a0fefb340e9e76854031b4bd485b2 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 02:12:38 +0100 Subject: [PATCH 28/38] Add make to fedora build --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index a2fa8f3b9..ddcec5c78 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -264,6 +264,7 @@ jobs: name: Install Dependencies command: > dnf install --assumeyes + @development-tools boost-devel cmake cryptopp-devel From e79f578e1be89e567a0473d2fa267d19939a5769 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 02:21:27 +0100 Subject: [PATCH 29/38] Manually create rpmbuild directory --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index ddcec5c78..69440dd83 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -305,6 +305,9 @@ jobs: name: Build source tarball command: ../dist/maketarball.sh working_directory: bin + - run: + name: Create rpmbuild directory + command: mkdir -p ~/rpmbuild/SOURCES - run: name: Move source tarball command: mv clementine-*.tar.xz ~/rpmbuild/SOURCES From 374b62b9b94b6812b9c2fb01797c40fec4192fe4 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 02:45:30 +0100 Subject: [PATCH 30/38] Remove concurrency from rpmbuild --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 69440dd83..f26606583 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -258,6 +258,8 @@ jobs: build_fedora_29_64: docker: - image: fedora:29 + - environment: + RPM_BUILD_NCPUS: 1 steps: - run: From 64189662b6c7f7ccc12ad13cf583ee598de4cdaf Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 02:48:17 +0100 Subject: [PATCH 31/38] oops --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f26606583..6254a03e0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -258,8 +258,8 @@ jobs: build_fedora_29_64: docker: - image: fedora:29 - - environment: - RPM_BUILD_NCPUS: 1 + environment: + RPM_BUILD_NCPUS: 1 steps: - run: From 73d6137cc0cdd8a9c625d5bdbc9798143465eb65 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 03:00:03 +0100 Subject: [PATCH 32/38] Disable mac job for now --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6254a03e0..e07d01fec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -434,7 +434,6 @@ workflows: - build_disco_32 - build_disco_64 - build_fedora_29_64 - - build_mac - upload_artifacts: context: gcp From 5a575e38d66fa3a65eac7d726e8ebadf66b89d49 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 03:25:42 +0100 Subject: [PATCH 33/38] Add ALSA and DBus dependencies --- .circleci/config.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index e07d01fec..3b9f65426 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,12 +57,14 @@ commands: fakeroot gettext git + libasound2-dev libboost-dev libboost-serialization-dev libcdio-cdda1 libcdio-dev libchromaprint-dev libcrypto++-dev + libdbus-1-dev libfftw3-dev libglew1.5-dev libgpod-dev @@ -98,12 +100,14 @@ commands: fakeroot gettext git + libasound2-dev libboost-dev libboost-serialization-dev libcdio-cdda2 libcdio-dev libchromaprint-dev libcrypto++-dev + libdbus-1-dev libfftw3-dev libglew1.5-dev libgpod-dev @@ -139,12 +143,14 @@ commands: fakeroot gettext git + libasound2-dev libboost-dev libboost-serialization-dev libcdio-cdda2 libcdio-dev libchromaprint-dev libcrypto++-dev + libdbus-1-dev libfftw3-dev libglew1.5-dev libgpod-dev From 5d599a89f083616eb306e6b4cc5b4149f453920c Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 03:30:11 +0100 Subject: [PATCH 34/38] Typo'd output directory --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3b9f65426..fb5c1ded7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -329,7 +329,7 @@ jobs: command: mkdir -p /tmp/artifacts/fedora-29 - run: name: Copy deb to artifacts directory - command: cp ~/rpmbuilds/RPMS/*/clementine-*.rpm /tmp/artifacts/fedora-29 + command: cp ~/rpmbuild/RPMS/*/clementine-*.rpm /tmp/artifacts/fedora-29 - persist_to_workspace: root: /tmp/artifacts/fedora-29 paths: From 33980dac740235f0a137094f21d3d6e5e9c95e2e Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 11:36:10 +0100 Subject: [PATCH 35/38] Only upload artifacts on master --- .circleci/config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fb5c1ded7..61659c732 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -337,7 +337,6 @@ jobs: - store_artifacts: path: /tmp/artifacts/fedora-29 - build_mac: macos: xcode: "11.0.0" @@ -451,3 +450,6 @@ workflows: - build_disco_32 - build_disco_64 - build_fedora_29_64 + filters: + branches: + only: master From 4bd2e9035551cc38c53e5dcc3945be007be20851 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 11:45:39 +0100 Subject: [PATCH 36/38] Add Fedora 30 build --- .circleci/config.yml | 178 ++++++++++++++++++++++++++----------------- 1 file changed, 110 insertions(+), 68 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 61659c732..af299a157 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,5 +1,34 @@ version: 2.1 commands: + cmake: + description: Configure build + steps: + - run: + name: cmake + command: cmake .. + working_directory: bin + build_source_tarball: + description: Build source tarball + steps: + - run: + name: Build source tarball + command: ../dist/maketarball.sh + working_directory: bin + + build_rpm: + description: Build RPM + steps: + - run: + name: Create rpmbuild directory + command: mkdir -p ~/rpmbuild/SOURCES + - run: + name: Move source tarball + command: mv clementine-*.tar.xz ~/rpmbuild/SOURCES + working_directory: bin + - run: + name: Build RPM + command: rpmbuild -ba ../dist/clementine.spec + working_directory: bin cmake_debian: description: Configure build parameters: @@ -46,6 +75,25 @@ commands: - "*" - store_artifacts: path: /tmp/artifacts/<< parameters.build >> + copy_rpm_artifacts: + description: Copy build artifcats + parameters: + build: + type: string + default: fedora-29 + steps: + - run: + name: Create artifact output directory + command: mkdir -p /tmp/artifacts/<< parameters.build >> + - run: + name: Copy RPM to artifacts directory + command: cp ~/rpmbuild/RPMS/*/clementine-*.rpm /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: @@ -176,6 +224,46 @@ commands: qt4-dev-tools ssh + install_fedora_dependencies: + description: Install Fedora Dependencies + steps: + - run: + name: Install Dependencies + command: > + dnf install --assumeyes + @development-tools + boost-devel + cmake + cryptopp-devel + desktop-file-utils + fftw-devel + gcc-c++ + gettext + git + glew-devel + gstreamer1-devel + gstreamer1-plugins-base-devel + libcdio-devel + libchromaprint-devel + libgpod-devel + liblastfm-devel + libmtp-devel + openssh + protobuf-compiler + protobuf-devel + pulseaudio-libs-devel + qca-devel + qca-ossl + qjson-devel + qt-devel + qtwebkit-devel + rpmdevtools + sha2-devel + sparsehash-devel + sqlite-devel + taglib-devel + tar + jobs: build_disco_64: docker: @@ -265,77 +353,31 @@ jobs: docker: - image: fedora:29 environment: - RPM_BUILD_NCPUS: 1 + RPM_BUILD_NCPUS: "1" steps: - - run: - name: Install Dependencies - command: > - dnf install --assumeyes - @development-tools - boost-devel - cmake - cryptopp-devel - desktop-file-utils - fftw-devel - gcc-c++ - gettext - git - glew-devel - gstreamer1-devel - gstreamer1-plugins-base-devel - libcdio-devel - libchromaprint-devel - libgpod-devel - liblastfm-devel - libmtp-devel - openssh - protobuf-compiler - protobuf-devel - pulseaudio-libs-devel - qca-devel - qca-ossl - qjson-devel - qt-devel - qtwebkit-devel - rpmdevtools - sha2-devel - sparsehash-devel - sqlite-devel - taglib-devel - tar + - install_fedora_dependencies - checkout - - run: - name: cmake - command: cmake .. - working_directory: bin - - run: - name: Build source tarball - command: ../dist/maketarball.sh - working_directory: bin - - run: - name: Create rpmbuild directory - command: mkdir -p ~/rpmbuild/SOURCES - - run: - name: Move source tarball - command: mv clementine-*.tar.xz ~/rpmbuild/SOURCES - working_directory: bin - - run: - name: Build RPM - command: rpmbuild -ba ../dist/clementine.spec - working_directory: bin - - run: - name: Create artifact output directory - command: mkdir -p /tmp/artifacts/fedora-29 - - run: - name: Copy deb to artifacts directory - command: cp ~/rpmbuild/RPMS/*/clementine-*.rpm /tmp/artifacts/fedora-29 - - persist_to_workspace: - root: /tmp/artifacts/fedora-29 - paths: - - "*" - - store_artifacts: - path: /tmp/artifacts/fedora-29 + - cmake + - build_source_tarball + - build_rpm + - copy_rpm_artifacts: + - build: fedora-29 + + build_fedora_30_64: + docker: + - image: fedora:30 + environment: + RPM_BUILD_NCPUS: "1" + + steps: + - install_fedora_dependencies + - checkout + - cmake + - build_source_tarball + - build_rpm + - copy_rpm_artifacts: + - build: fedora-30 build_mac: macos: From 43b4ee796082625ecccd8579746cf56e724d58fc Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 14:45:56 +0100 Subject: [PATCH 37/38] Fix copy_rpm_artifacts params --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index af299a157..bca38f3ad 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -362,7 +362,7 @@ jobs: - build_source_tarball - build_rpm - copy_rpm_artifacts: - - build: fedora-29 + build: fedora-29 build_fedora_30_64: docker: @@ -377,7 +377,7 @@ jobs: - build_source_tarball - build_rpm - copy_rpm_artifacts: - - build: fedora-30 + build: fedora-30 build_mac: macos: From c355b5ca22c24f1c981a4b14f0c0eae4868bd3d5 Mon Sep 17 00:00:00 2001 From: John Maguire Date: Thu, 3 Oct 2019 15:34:28 +0100 Subject: [PATCH 38/38] Add Fedora 30 to workflow --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index bca38f3ad..1bb13ed53 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -481,6 +481,7 @@ workflows: - build_disco_32 - build_disco_64 - build_fedora_29_64 + - build_fedora_30_64 - upload_artifacts: context: gcp @@ -492,6 +493,7 @@ workflows: - build_disco_32 - build_disco_64 - build_fedora_29_64 + - build_fedora_30_64 filters: branches: only: master