diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 6536e4909..fd712b28d 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -994,15 +994,15 @@ jobs: run: dpkg-buildpackage -b -d -uc -us -nc -j2 - build-macos: - name: Build macOS - runs-on: macos-latest + build-macos-catalina: + name: Build macOS Catalina + runs-on: macos-10.15 steps: - uses: actions/checkout@v1.2.0 - #- name: Update - # run: brew update - #- name: Upgrade - # run: brew upgrade + - name: Update + run: brew update + - name: Upgrade + run: brew upgrade - name: Install packages run: > brew install @@ -1060,7 +1060,76 @@ jobs: run: make dmg - uses: actions/upload-artifact@v2 with: - name: upload-macos + name: upload-macos-catalina + path: build/strawberry-*.dmg + + build-macos-bigsur: + name: Build macOS Big Sur + runs-on: macos-11.0 + steps: + - uses: actions/checkout@v1.2.0 + - name: Update + run: brew update + - name: Upgrade + run: brew upgrade + - 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: Delete conflicting taglib system headers + shell: bash + run: rm -rf /usr/local/include/taglib + + - name: Create Build Environment + shell: bash + run: cmake -E make_directory build + - name: Configure CMake + shell: bash + env: + PKG_CONFIG_PATH: /usr/local/lib/pkgconfig + Qt5_DIR: /usr/local/opt/qt5/lib/cmake + Qt5LinguistTools_DIR: /usr/local/opt/qt5/lib/cmake/Qt5LinguistTools + GST_SCANNER_PATH: /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 -DUSE_BUNDLE=ON + - name: Build + 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-*.dmg @@ -1207,12 +1276,12 @@ jobs: run: makensis strawberry.nsi - upload-macos: - name: Upload macOS DMG + upload-macos-catalina: + name: Upload macOS Catalina DMG runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' needs: - - build-macos + - build-macos-catalina steps: - uses: actions/checkout@v1.2.0 - uses: actions/download-artifact@v2 @@ -1229,3 +1298,26 @@ jobs: for i in $(find uploads -type f -name '*.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 '*.dmg'); do + rsync -e "ssh -p 50220 -o StrictHostKeyChecking=no" -va $i travis@echoes.jkvinge.net:/home/travis/builds/macos/bigsur/ + done diff --git a/dist/macos/macversion.sh b/dist/macos/macversion.sh index 96f985214..9619f0faf 100755 --- a/dist/macos/macversion.sh +++ b/dist/macos/macversion.sh @@ -1,14 +1,22 @@ #!/bin/sh -macos_version=$(sw_vers -productVersion| awk -F '[.]' '{print $2}') -macos_codenames=( -["13"]="highsierra" -["14"]="mojave" -["15"]="catalina" -) +macos_version=$(sw_vers -productVersion) +macos_version_major=$(echo $macos_version | awk -F '[.]' '{print $1}') +macos_version_minor=$(echo $macos_version | awk -F '[.]' '{print $2}') -if [[ -n "${macos_codenames[$macos_version]}" ]]; then - echo "${macos_codenames[$macos_version]}" +if [ "${macos_version_major}" = "10" ]; then + macos_codenames=( + ["13"]="highsierra" + ["14"]="mojave" + ["15"]="catalina" + ) + if [[ -n "${macos_codenames[$macos_version_minor]}" ]]; then + echo "${macos_codenames[$macos_version_minor]}" + else + echo "unknown" + fi +elif [ "${macos_version_major}" = "11" ]; then + echo "bigsur" else echo "unknown" fi