From 494ac20cca5560be365bac963836b4ed4904c146 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Tue, 11 Sep 2018 23:13:58 +0200 Subject: [PATCH 1/9] Create Dockerfile --- Dockerfile | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..983801f87 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +from opensuse:tumbleweed + +run zypper --non-interactive --gpg-auto-import-keys ref +run zypper --non-interactive --gpg-auto-import-keys dup -l -y + +run zypper --non-interactive --gpg-auto-import-keys install \ + lsb-release \ + git tar make cmake gcc gcc-c++ pkg-config \ + glibc-devel glib2-devel glib2-tools dbus-1-devel alsa-devel libpulse-devel libnotify-devel \ + boost-devel protobuf-devel sqlite3-devel taglib-devel \ + gstreamer-devel gstreamer-plugins-base-devel libxine-devel vlc-devel \ + libQt5Core-devel libQt5Gui-devel libQt5Widgets-devel libQt5Concurrent-devel libQt5Network-devel libQt5OpenGL-devel libQt5Sql-devel \ + libqt5-qtx11extras-devel libQt5Gui-private-headers-devel libqt5-qtbase-common-devel liblastfm-qt5-devel \ + libcdio-devel libgpod-devel libplist-devel libmtp-devel libusbmuxd-devel libchromaprint-devel From e30f2694127b9981a2b1b936068a4f4a55a9d280 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Tue, 11 Sep 2018 23:32:19 +0200 Subject: [PATCH 2/9] Update .travis.yml --- .travis.yml | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/.travis.yml b/.travis.yml index d6c9ccf59..6fe85290f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,31 +1,32 @@ +sudo: required language: C++ -sudo: false -os: +services: + - docker +#os: # - linux - - osx -dist: trusty +# - osx + compiler: - gcc - clang + before_install: -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq ; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq libprotobuf-dev protobuf-compiler sqlite3 dbus ; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq libasound2-dev libxine2-dev libvlc-dev libphonon4qt5-dev ; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq qtbase5-dev qtbase5-dev-tools qtbase5-private-dev qtdeclarative5-dev ; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq ibgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev gstreamer1.0-alsa gstreamer1.0-pulseaudio ; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq libchromaprint-dev libpulse-dev ; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq libcdio-dev libmtp-dev libgpod-dev libimobiledevice-dev libplist-dev ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sqlite --with-fts ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gstreamer gst-plugins-base ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-good --with-flac ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-bad gst-plugins-ugly ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install chromaprint ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export Qt5_DIR=/usr/local/opt/qt5/lib/cmake ; fi + - docker build -f Dockerfile -t strawberry-devel . + - docker run -d -p 127.0.0.1:80:4567 strawberry-devel /bin/sh -c "cd /root; bundle exec foreman start;" + - docker ps -a + - docker run strawberry-devel /bin/sh -c "cd /root; bundle exec rake test" +#- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo docker build -f Dockerfile . ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sqlite --with-fts ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gstreamer gst-plugins-base ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-good --with-flac ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-bad gst-plugins-ugly ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install chromaprint ; fi +#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export Qt5_DIR=/usr/local/opt/qt5/lib/cmake ; fi before_script: - mkdir build - cd build - - cmake .. -DFORCE_GIT_REVISION="0.2.1-59-g4a124e5" + - cmake .. -DFORCE_GIT_REVISION="0.0.0-0-g0000000" script: make -j8 From 621a5b1de833d8fc27a0f8bac4a4507dd8c06cc2 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 19:32:13 +0200 Subject: [PATCH 3/9] Update Dockerfile --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index 983801f87..3e0695512 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,3 +12,7 @@ run zypper --non-interactive --gpg-auto-import-keys install \ libQt5Core-devel libQt5Gui-devel libQt5Widgets-devel libQt5Concurrent-devel libQt5Network-devel libQt5OpenGL-devel libQt5Sql-devel \ libqt5-qtx11extras-devel libQt5Gui-private-headers-devel libqt5-qtbase-common-devel liblastfm-qt5-devel \ libcdio-devel libgpod-devel libplist-devel libmtp-devel libusbmuxd-devel libchromaprint-devel + +run mkdir -p /usr/src/app +workdir /usr/src/app +copy . /usr/src/app From b5c0529969ca35b7583dfa2ef7d84fa42887e4ea Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 19:42:04 +0200 Subject: [PATCH 4/9] Update .travis.yml --- .travis.yml | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6fe85290f..0ce2b3aef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,30 +1,28 @@ sudo: required language: C++ +os: + - linux + - osx services: - docker -#os: -# - linux -# - osx - compiler: - gcc - clang before_install: - - docker build -f Dockerfile -t strawberry-devel . - - docker run -d -p 127.0.0.1:80:4567 strawberry-devel /bin/sh -c "cd /root; bundle exec foreman start;" - - docker ps -a - - docker run strawberry-devel /bin/sh -c "cd /root; bundle exec rake test" -#- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo docker build -f Dockerfile . ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sqlite --with-fts ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gstreamer gst-plugins-base ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-good --with-flac ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-bad gst-plugins-ugly ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install chromaprint ; fi -#- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export Qt5_DIR=/usr/local/opt/qt5/lib/cmake ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -f Dockerfile -t strawberry-build . ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run -d -p 127.0.0.1:80:4567 strawberry-build ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker ps -a ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run strawberry-build + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sqlite --with-fts ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gstreamer gst-plugins-base ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-good --with-flac ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-bad gst-plugins-ugly ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install chromaprint ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export Qt5_DIR=/usr/local/opt/qt5/lib/cmake ; fi before_script: - mkdir build - cd build From d43190a41f9c90076eab7fb0a2ee25d6978054cb Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 19:45:46 +0200 Subject: [PATCH 5/9] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0ce2b3aef..c737fbb0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -f Dockerfile -t strawberry-build . ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run -d -p 127.0.0.1:80:4567 strawberry-build ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker ps -a ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run strawberry-build + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run strawberry-build ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi From 95d03de160393194297ed7f5bce55e979df73ebd Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 20:12:34 +0200 Subject: [PATCH 6/9] Update .travis.yml --- .travis.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index c737fbb0d..4c264c08c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,9 +11,8 @@ compiler: before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -f Dockerfile -t strawberry-build . ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run -d -p 127.0.0.1:80:4567 strawberry-build ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker ps -a ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run strawberry-build ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run -itd --name build strawberry-build ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker exec build git clone https://github.com/jonaski/strawberry /repo ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi @@ -24,7 +23,8 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install chromaprint ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export Qt5_DIR=/usr/local/opt/qt5/lib/cmake ; fi before_script: - - mkdir build - - cd build - - cmake .. -DFORCE_GIT_REVISION="0.0.0-0-g0000000" -script: make -j8 + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; docker exec build cmake -H/repo -B/build ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; mkdir build; cd build; cmake .. -DFORCE_GIT_REVISION="0.0.0-0-g0000000"; fi +script: +- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; docker exec build make -j8 ; fi +- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; make -j8 ; fi From 7f9e1962348aaf190fdd26f9237e636a2830029a Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 20:56:51 +0200 Subject: [PATCH 7/9] Update .travis.yml --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4c264c08c..0bcc07dcc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,11 +11,11 @@ compiler: before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -f Dockerfile -t strawberry-build . ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run -itd --name build strawberry-build ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run --name build -itd strawberry-build ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker exec build git clone https://github.com/jonaski/strawberry /repo ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git glib pkgconfig protobuf protobuf-c qt ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install glib pkgconfig protobuf protobuf-c qt ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sqlite --with-fts ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gstreamer gst-plugins-base ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install gst-plugins-good --with-flac ; fi From 6d373737db5c6a576d7805928498179039b4585b Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 21:09:00 +0200 Subject: [PATCH 8/9] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0bcc07dcc..b29f8bbd7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ compiler: before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -f Dockerfile -t strawberry-build . ; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run --name build -itd strawberry-build ; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run --name build -itd strawberry-build /bin/bash ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker exec build git clone https://github.com/jonaski/strawberry /repo ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python ; fi From 982f399aff3725cb4fc23e2937601700c12b3dbe Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 12 Sep 2018 21:17:45 +0200 Subject: [PATCH 9/9] Update .travis.yml --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b29f8bbd7..126bd4d4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,8 +23,8 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install chromaprint ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export Qt5_DIR=/usr/local/opt/qt5/lib/cmake ; fi before_script: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; docker exec build cmake -H/repo -B/build ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; mkdir build; cd build; cmake .. -DFORCE_GIT_REVISION="0.0.0-0-g0000000"; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker exec build cmake -H/repo -B/build ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir build; cd build; cmake .. -DFORCE_GIT_REVISION="0.0.0-0-g0000000"; fi script: -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; docker exec build make -j8 ; fi -- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; make -j8 ; fi +- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker exec build make -j8 ; fi +- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make -j8 ; fi