Build common DMG for all macOS versions

This commit is contained in:
Jonas Kvinge
2021-04-23 19:05:02 +02:00
parent be95d8409b
commit 63d75a8e17
3 changed files with 84 additions and 172 deletions

View File

@@ -1171,8 +1171,8 @@ jobs:
run: dpkg-buildpackage -b -d -uc -us -nc -j2
build-macos-catalina:
name: Build macOS Catalina
build-macos-qt5:
name: Build macOS Qt 5
runs-on: macos-10.15
steps:
- uses: actions/checkout@v1.2.0
@@ -1185,7 +1185,7 @@ jobs:
libffi
protobuf
protobuf-c
qt
qt5
gettext
gnutls
fftw
@@ -1217,6 +1217,73 @@ jobs:
shell: bash
env:
BUILD_TYPE: Release
MACOSX_DEPLOYMENT_TARGET: 10.15
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig
Qt5_DIR: /usr/local/opt/qt5/lib/cmake
Qt5LinguistTools_DIR: /usr/local/opt/qt5/lib/cmake/Qt5LinguistTools
GIO_EXTRA_MODULES: /usr/local/lib/gio/modules
GST_PLUGIN_SCANNER: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0
working-directory: build
run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_WITH_QT5=ON -DBUILD_WERROR=ON -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5/lib/cmake
- name: Build
env:
BUILD_TYPE: Release
working-directory: build
shell: bash
run: cmake --build . --config $BUILD_TYPE
- name: Install
working-directory: build
shell: bash
run: make install
build-macos-qt6:
name: Build macOS Qt 6
runs-on: macos-10.15
steps:
- uses: actions/checkout@v1.2.0
- name: Install packages
run: >
brew install
glib
pkgconfig
boost
libffi
protobuf
protobuf-c
qt6
gettext
gnutls
fftw
sqlite
chromaprint
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
libcdio
libmtp
create-dmg
taglib
- name: Install Sparkle
run: brew install --cask sparkle
- name: Link Sparkle
shell: bash
run: |
sudo ln -s /usr/local/Caskroom/sparkle/$(ls /usr/local/Caskroom/sparkle | head -n1) /usr/local/opt/sparkle
- name: Create Build Environment
shell: bash
run: cmake -E make_directory build
- name: Configure CMake
shell: bash
env:
BUILD_TYPE: Release
MACOSX_DEPLOYMENT_TARGET: 10.15
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig
Qt6_DIR: /usr/local/opt/qt6/lib/cmake
Qt5LinguistTools_DIR: /usr/local/opt/qt6/lib/cmake/Qt6LinguistTools
@@ -1241,81 +1308,8 @@ jobs:
run: make dmg
- uses: actions/upload-artifact@v2
with:
name: upload-macos-catalina
path: build/strawberry-*-catalina-*.dmg
build-macos-bigsur:
name: Build macOS Big Sur
runs-on: macos-11.0
steps:
- uses: actions/checkout@v1.2.0
- name: Install packages
run: >
brew install
glib
pkgconfig
boost
libffi
protobuf
protobuf-c
qt
gettext
gnutls
fftw
sqlite
chromaprint
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
libcdio
libmtp
create-dmg
taglib
- name: Install Sparkle
run: brew install --cask sparkle
- name: Link Sparkle
shell: bash
run: |
sudo ln -s /usr/local/Caskroom/sparkle/$(ls /usr/local/Caskroom/sparkle | head -n1) /usr/local/opt/sparkle
- name: Create Build Environment
shell: bash
run: cmake -E make_directory build
- name: Configure CMake
shell: bash
env:
BUILD_TYPE: Release
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig
Qt5_DIR: /usr/local/opt/qt6/lib/cmake
Qt5LinguistTools_DIR: /usr/local/opt/qt6/lib/cmake/Qt6LinguistTools
GIO_EXTRA_MODULES: /usr/local/lib/gio/modules
GST_PLUGIN_SCANNER: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner
GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0
working-directory: build
run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_WITH_QT6=ON -DBUILD_WERROR=ON -DUSE_BUNDLE=ON -DCMAKE_PREFIX_PATH=/usr/local/opt/qt6/lib/cmake
- name: Build
env:
BUILD_TYPE: Release
working-directory: build
shell: bash
run: cmake --build . --config $BUILD_TYPE
- name: Install
working-directory: build
shell: bash
run: make install
- name: Create DMG
working-directory: build
shell: bash
run: make dmg
- uses: actions/upload-artifact@v2
with:
name: upload-macos-bigsur
path: build/strawberry-*-bigsur-*.dmg
name: upload-macos
path: build/strawberry-*.dmg
build-windows-qt5:
@@ -1616,12 +1610,12 @@ jobs:
run: makensis strawberry.nsi
upload-macos-catalina:
name: Upload macOS Catalina DMG
upload-macos:
name: Upload macOS DMG
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs:
- build-macos-catalina
- build-macos-qt6
steps:
- uses: actions/checkout@v1.2.0
- uses: actions/download-artifact@v2
@@ -1635,29 +1629,6 @@ jobs:
- name: rsync
run: |
set -x
for i in $(find uploads -type f -name 'strawberry-*-catalina-*.dmg'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/catalina/
done
upload-macos-bigsur:
name: Upload macOS Big Sur DMG
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
needs:
- build-macos-bigsur
steps:
- uses: actions/checkout@v1.2.0
- uses: actions/download-artifact@v2
with:
path: uploads
- name: Install SSH keys
uses: shimataro/ssh-key-action@v2
with:
known_hosts: ${{ secrets.KNOWN_HOSTS2 }}
key: ${{ secrets.SSH_KEY }}
- name: rsync
run: |
set -x
for i in $(find uploads -type f -name 'strawberry-*-bigsur-*.dmg'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/bigsur/
for i in $(find uploads -type f -name 'strawberry-*.dmg'); do
rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/
done