From d89ee1fae298be8522bf6c3a5523db1ac48113fc Mon Sep 17 00:00:00 2001 From: John Maguire Date: Sat, 23 May 2020 23:02:54 +0100 Subject: [PATCH] Remove CircleCI config --- .circleci/config.yml | 873 ------------------------------------------- 1 file changed, 873 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index e611020e5..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,873 +0,0 @@ -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: - 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 -j2 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 - paths: - - << parameters.build >>/* - - store_artifacts: - path: /tmp/artifacts/<< parameters.build >> - copy_rpm_artifacts: - description: Copy build artifcats - parameters: - build: - type: string - default: fedora-30 - 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 - paths: - - << parameters.build >>/* - - store_artifacts: - path: /tmp/artifacts/<< parameters.build >> - - copy_windows_artifacts: - description: Copy build artifacts - steps: - - run: - name: Create artifact output directory - command: mkdir -p /tmp/artifacts/windows - - run: - name: Copy exe to artifacts directory - command: cp dist/windows/ClementineSetup*.exe /tmp/artifacts/windows - - persist_to_workspace: - root: /tmp/artifacts - paths: - - windows/* - - store_artifacts: - path: /tmp/artifacts/windows - - install_bionic_dependencies: - description: Install Bionic dependencies - steps: - - run: - name: Use AWS Ubuntu mirror - command: > - sed -i /etc/apt/sources.list - -e 's#archive.ubuntu.com#us-east-2.ec2.archive.ubuntu.com#' - - run: - name: Install Dependencies - command: > - apt-get update && apt-get install -y - build-essential - cmake - gettext - git - libasound2-dev - libboost-dev - libcdio-dev - libchromaprint-dev - libdbus-1-dev - libfftw3-dev - libglew1.5-dev - libglib2.0-dev - libgpod-dev - libgstreamer-plugins-base1.0-dev - libgstreamer1.0-dev - liblastfm5-dev - libmtp-dev - libprotobuf-dev - libpulse-dev - libqt5x11extras5-dev - libsqlite3-dev - libtag1-dev - pkg-config - protobuf-compiler - qtbase5-dev - qttools5-dev-tools - qttools5-dev - libsparsehash-dev - ssh - - install_eoan_dependencies: - description: Install Eoan dependencies - steps: - - run: - name: Setup ENV - command: | - echo 'export DEBIAN_FRONTEND=noninteractive' >> $BASH_ENV - source $BASH_ENV - - run: - name: Use AWS Ubuntu mirror - command: > - sed -i /etc/apt/sources.list - -e 's#archive.ubuntu.com#us-east-2.ec2.archive.ubuntu.com#' - - run: - name: Install Dependencies - command: > - apt-get update && apt-get install -y - cmake - 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 - libgstreamer-plugins-base1.0-dev - libgstreamer1.0-dev - liblastfm5-dev - libmtp-dev - libmygpo-qt-dev - libplist-dev - libprotobuf-dev - libpulse-dev - libqca-qt5-2-dev - libqca-qt5-2-plugins - libqt5x11extras5-dev - libsparsehash-dev - libsqlite3-dev - libtag1-dev - libusbmuxd-dev - protobuf-compiler - qtbase5-dev - qttools5-dev-tools - qttools5-dev - ssh - - install_fedora_dependencies: - description: Install Fedora Dependencies - steps: - - run: - name: Install Dependencies - command: > - dnf install --assumeyes - @development-tools - alsa-lib-devel - boost-devel - cmake - cryptopp-devel - dbus-devel - desktop-file-utils - fftw-devel - gcc-c++ - gettext - git - glew-devel - gstreamer1-devel - gstreamer1-plugins-base-devel - hicolor-icon-theme - libappstream-glib - libcdio-devel - libchromaprint-devel - libgpod-devel - liblastfm-qt5-devel - libmtp-devel - libnotify-devel - openssh - pkgconfig - protobuf-compiler - protobuf-devel - pulseaudio-libs-devel - qca-qt5-devel - qca-qt5-ossl - qt5-devel - rpmdevtools - sha2-devel - sparsehash-devel - sqlite-devel - taglib-devel - tar - - install_debian_dependencies: - description: Install Debian dependencies - steps: - - run: - name: Install Dependencies - command: > - apt-get update && apt-get install -y - build-essential - cmake - gettext - git - libasound2-dev - libboost-dev - libcdio-dev - libchromaprint-dev - libcrypto++-dev - libdbus-1-dev - libfftw3-dev - libglew1.5-dev - libglib2.0-dev - libgpod-dev - libgstreamer-plugins-base1.0-dev - libgstreamer1.0-dev - liblastfm5-dev - libmtp-dev - libmygpo-qt-dev - libprotobuf-dev - libpulse-dev - libqt5x11extras5-dev - libsparsehash-dev - libsqlite3-dev - libtag1-dev - pkg-config - protobuf-compiler - qtbase5-dev - qttools5-dev-tools - qttools5-dev - ssh - -jobs: - 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_focal_64: - docker: - - image: ubuntu:focal - steps: - - install_eoan_dependencies - - checkout - - cmake_debian: - distribution: focal - arch: amd64 - - make_deb - - copy_artifacts: - build: ubuntu-focal - - build_eoan_64: - docker: - - image: ubuntu:eoan - steps: - - install_eoan_dependencies - - checkout - - cmake_debian: - distribution: eoan - arch: amd64 - - make_deb - - copy_artifacts: - build: ubuntu-eoan - - build_eoan_32: - docker: - - image: i386/ubuntu:eoan - steps: - - install_eoan_dependencies - - checkout - - cmake_debian: - distribution: eoan - arch: i386 - - make_deb - - copy_artifacts: - build: ubuntu-eoan - - build_buster_64: - docker: - - image: debian:buster - steps: - - install_debian_dependencies - - checkout - - cmake_debian: - distribution: buster - arch: amd64 - - make_deb - - copy_artifacts: - build: debian-buster - - build_stretch_64: - docker: - - image: debian:stretch - steps: - - install_debian_dependencies - - checkout - - cmake_debian: - distribution: stretch - arch: amd64 - - make_deb - - copy_artifacts: - build: debian-stretch - - build_fedora_30_64: - docker: - - image: fedora:30 - environment: - RPM_BUILD_NCPUS: "2" - - steps: - - install_fedora_dependencies - - checkout - - cmake - - build_source_tarball - - build_rpm - - copy_rpm_artifacts: - build: fedora-30 - - build_fedora_31_64: - docker: - - image: fedora:31 - environment: - RPM_BUILD_NCPUS: "2" - - steps: - - install_fedora_dependencies - - checkout - - cmake - - build_source_tarball - - build_rpm - - copy_rpm_artifacts: - build: fedora-31 - - build_mingw: - docker: - - image: eu.gcr.io/clementine-data/mingw-w64:latest - environment: - PKG_CONFIG_PATH: /target/lib/pkgconfig - steps: - - checkout - - run: - name: Fix liblastfm includes - command: ln -s /target/include/lastfm /target/include/lastfm5 - - run: - name: CMake - working_directory: bin - command: > - cmake .. - -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake - -DCMAKE_BUILD_TYPE=Release - - run: - name: Make - working_directory: bin - command: make -j2 - - run: - name: Copy output exes - working_directory: dist/windows - command: cp ../../bin/*.exe . - - run: - name: Copy base runtime DLLs - command: > - cp - /usr/lib/gcc/i686-w64-mingw32/*-posix/libgcc_s_sjlj-1.dll - /usr/lib/gcc/i686-w64-mingw32/*-posix/libstdc++-6.dll - /usr/i686-w64-mingw32/lib/libwinpthread-1.dll - ~/project/dist/windows - - run: - name: Copy DLL dependencies - working_directory: /target/bin - command: > - cp - glew32.dll - libcdio-16.dll - libchromaprint.dll - libeay32.dll - libfaad.dll - libffi-6.dll - libfftw3-3.dll - libFLAC-8.dll - libgcrypt-20.dll - libgio-2.0-0.dll - libglib-2.0-0.dll - libgmodule-2.0-0.dll - libgmp-10.dll - libgnutls-30.dll - libgobject-2.0-0.dll - libgpg-error-0.dll - libgpod.dll - libgstapp-1.0-0.dll - libgstaudio-1.0-0.dll - libgstbase-1.0-0.dll - libgstcontroller-1.0-0.dll - libgstfft-1.0-0.dll - libgstnet-1.0-0.dll - libgstpbutils-1.0-0.dll - libgstreamer-1.0-0.dll - libgstriff-1.0-0.dll - libgstrtp-1.0-0.dll - libgstrtsp-1.0-0.dll - libgstsdp-1.0-0.dll - libgsttag-1.0-0.dll - libgstvideo-1.0-0.dll - libgthread-2.0-0.dll - libhogweed-4.dll - libiconv-2.dll - libid3tag.dll - libintl-8.dll - liblastfm5.dll - libmad.dll - libmms-0.dll - libmp3lame-0.dll - libnettle-6.dll - libogg-0.dll - liboil-0.3-0.dll - liborc-0.4-0.dll - liborc-test-0.4-0.dll - libp11-kit-0.dll - libplist.dll - libpsl-5.dll - libprotobuf-17.dll - libsoup-2.4-1.dll - libspeex-1.dll - libspotify.dll - libsqlite3-0.dll - libtag.dll - libtasn1-6.dll - libvorbis-0.dll - libvorbisenc-2.dll - libxml2-2.dll - Qt5Concurrent.dll - Qt5Core.dll - Qt5Gui.dll - Qt5Network.dll - Qt5NetworkAuth.dll - Qt5OpenGL.dll - Qt5Sql.dll - Qt5Svg.dll - Qt5Widgets.dll - Qt5WinExtras.dll - Qt5Xml.dll - Qt5XmlPatterns.dll - ssleay32.dll - zlib1.dll - ~/project/dist/windows - - run: mkdir dist/windows/imageformats - - run: - name: Copy Qt imageformat plugin DLLs - working_directory: /target/plugins - command: > - cp - imageformats/qgif.dll - imageformats/qjpeg.dll - ~/project/dist/windows/imageformats - - run: mkdir dist/windows/platforms - - run: - name: Copy Qt platforms plugin DLLs - working_directory: /target/plugins - command: > - cp - platforms/qwindows.dll - ~/project/dist/windows/platforms - - run: mkdir dist/windows/styles - - run: - name: Copy Qt style plugin DLLs - working_directory: /target/plugins - command: > - cp - styles/qwindowsvistastyle.dll - ~/project/dist/windows/styles - - run: mkdir dist/windows/gio-modules - - run: - name: Copy GIO modules - command: cp /target/lib/gio/modules/libgiognutls.dll dist/windows/gio-modules - - run: mkdir dist/windows/gstreamer-plugins - - run: - name: Copy gstreamer plugins - working_directory: /target/lib/gstreamer-1.0 - command: > - cp - libgstapetag.dll - libgstapp.dll - libgstasf.dll - libgstaudioconvert.dll - libgstaudiofx.dll - libgstaudioparsers.dll - libgstaudioresample.dll - libgstaudiotestsrc.dll - libgstautodetect.dll - libgstcdio.dll - libgstcoreelements.dll - libgstdirectsoundsink.dll - libgstequalizer.dll - libgstfaad.dll - libgstflac.dll - libgstgdp.dll - libgstgio.dll - libgsticydemux.dll - libgstid3demux.dll - libgstisomp4.dll - libgstlame.dll - libgstlibav.dll - libgstmad.dll - libgstmms.dll - libgstogg.dll - libgstplayback.dll - libgstreplaygain.dll - libgstsouphttpsrc.dll - libgstspectrum.dll - libgstspeex.dll - libgsttaglib.dll - libgsttcp.dll - libgsttypefindfunctions.dll - libgstudp.dll - libgstvolume.dll - libgstvorbis.dll - libgstwavparse.dll - ~/project/dist/windows/gstreamer-plugins - - run: - name: Build windows installer - working_directory: dist/windows - command: makensis clementine.nsi - - copy_windows_artifacts - - build_mac: - macos: - xcode: "11.0.0" - steps: - - run: - name: Setup PATH - command: | - echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig' >> $BASH_ENV - echo 'export Qt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5' >> $BASH_ENV - echo 'export Qt5LinguistTools_DIR=/usr/local/opt/qt5/lib/cmake/Qt5LinguistTools' >> $BASH_ENV - echo 'export GST_SCANNER_PATH=/usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner' >> $BASH_ENV - echo 'export GST_PLUGIN_PATH=/usr/local/lib/gstreamer-1.0' >> $BASH_ENV - source $BASH_ENV - - run: - name: Unlink Python 2 - command: brew unlink python@2 - - run: - name: Install dependencies from homebrew - command: > - brew install - boost - chromaprint - cmake - cryptopp - fftw - glew - glib - google-sparsehash - gst-libav - gst-plugins-bad - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gstreamer - pkgconfig - protobuf - protobuf-c - qt - - run: - name: Install liblastfm - command: brew install https://raw.githubusercontent.com/tomahawk-player/homebrew-tomahawkqt5/master/liblastfm.rb - - run: - name: Fix liblastfm includes - command: ln -s /usr/local/include/lastfm /usr/local/include/lastfm5 - - checkout - - run: - name: cmake - command: > - cmake - .. - -Wno-dev - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_OSX_ARCHITECTURES=x86_64 - -DGETTEXT_MSGMERGE_EXECUTABLE=/usr/local/opt/gettext/bin/msgmerge - -DGETTEXT_MSGFMT_EXECUTABLE=/usr/local/opt/gettext/bin/msgfmt - -DGETTEXT_XGETTEXT_EXECUTABLE=/usr/local/opt/gettext/bin/xgettext - working_directory: bin - - run: - name: make - command: make -j4 - working_directory: bin - - run: - name: Copy icon file and resources - command: make install - 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 - paths: - - mac/* - - store_artifacts: - path: bin/CMakeCache.txt - - store_artifacts: - path: bin/src/CMakeFiles/clementine.dir - - store_artifacts: - path: /tmp/artifacts/mac - - build_source_tarball: - docker: - - image: ubuntu:eoan - steps: - - install_eoan_dependencies - - checkout - - cmake - - build_source_tarball - - run: - name: Create artifacts directory - command: mkdir -p /tmp/artifacts/source - - run: - name: Copy artifact - command: cp bin/clementine-*.tar.xz /tmp/artifacts/source - - persist_to_workspace: - root: /tmp/artifacts - paths: - - source/* - - 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/ - - create_release: - docker: - - image: circleci/golang:1.12 - steps: - - attach_workspace: - at: /tmp/artifacts - - run: - name: Aggregate artifacts - command: | - mkdir -p release_artifacts - cp /tmp/artifacts/**/* release_artifacts/ - - run: - name: Publish Release on GitHub - command: | - go get github.com/tcnksm/ghr - VERSION=${CIRCLE_TAG} - ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -delete ${VERSION} release_artifacts/ - create_pre_release: - docker: - - image: circleci/golang:1.12 - steps: - - attach_workspace: - at: /tmp/artifacts - - run: - name: Aggregate artifacts - command: | - mkdir -p release_artifacts - cp /tmp/artifacts/**/* release_artifacts/ - - run: - name: Publish Release on GitHub - command: | - go get github.com/tcnksm/ghr - VERSION=$(echo release_artifacts/*.tar.xz | sed -e 's/.*clementine-\(.*\).tar.xz/\1/') - ghr -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} -prerelease ${VERSION} release_artifacts/ -workflows: - version: 2 - build_all: - jobs: - - build_focal_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_eoan_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_eoan_32: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_bionic_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_bionic_32: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_buster_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_stretch_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_fedora_30_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_fedora_31_64: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_mingw: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_mac: - filters: - branches: - only: master - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - build_source_tarball: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - - create_release: - filters: - tags: - only: /\d+\.\d+\.\d+(rc\d+)?$/ - branches: - ignore: /.*/ - context: github - requires: - - build_focal_64 - - build_eoan_64 - - build_eoan_32 - - build_bionic_64 - - build_bionic_32 - - build_buster_64 - - build_stretch_64 - - build_fedora_30_64 - - build_fedora_31_64 - - build_mingw - - build_mac - - build_source_tarball - - create_pre_release: - filters: - branches: - only: master - tags: - ignore: /.*/ - context: github - requires: - - build_focal_64 - - build_eoan_64 - - build_eoan_32 - - build_bionic_64 - - build_bionic_32 - - build_buster_64 - - build_stretch_64 - - build_fedora_30_64 - - build_fedora_31_64 - - build_mingw - - build_mac - - build_source_tarball - - upload_artifacts: - context: gcp - requires: - - build_focal_64 - - build_eoan_64 - - build_eoan_32 - - build_bionic_64 - - build_bionic_32 - - build_buster_64 - - build_stretch_64 - - build_fedora_30_64 - - build_fedora_31_64 - - build_mingw - - build_mac - - build_source_tarball - filters: - branches: - only: master - tags: - only: /.*/