fix: update macOS CI to use macos-14 runner instead of deprecated mac… #590
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: MacOS | |
| on: | |
| push: | |
| paths: | |
| - 'QtScrcpy/**' | |
| - '!QtScrcpy/res/**' | |
| - '.github/workflows/macos.yml' | |
| pull_request: | |
| paths: | |
| - 'QtScrcpy/**' | |
| - '!QtScrcpy/res/**' | |
| - '.github/workflows/macos.yml' | |
| jobs: | |
| build: | |
| name: Build | |
| # macos-13 (Intel) runners are no longer supported by GitHub Actions. | |
| # Use macos-14 (Apple Silicon) for all builds: | |
| # - Qt6: native arm64 build on macos-14 | |
| # - Qt5: x86_64 build via Rosetta 2 on macos-14 (clang_64 Qt tools run under Rosetta) | |
| # https://github.com/actions/runner-images?tab=readme-ov-file#available-images | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| matrix: | |
| qt-ver: [5.15.2, 6.5.3] | |
| # 配置qt-ver的额外设置qt-arch-install,build-arch | |
| include: | |
| - qt-ver: 5.15.2 | |
| qt-arch-install: clang_64 | |
| build-arch: x64 | |
| runs-on: macos-14 | |
| - qt-ver: 6.5.3 | |
| qt-arch-install: arm64 | |
| build-arch: arm64 | |
| runs-on: macos-14 | |
| env: | |
| target-name: QtScrcpy | |
| qt-install-path: ${{ github.workspace }}/${{ matrix.qt-ver }} | |
| plantform-des: mac | |
| steps: | |
| - name: Cache Qt | |
| id: cache-qt | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ env.qt-install-path }}/${{ matrix.qt-arch-install }} | |
| key: ${{ runner.os }}/${{ matrix.qt-ver }}/${{ matrix.qt-arch-install }} | |
| - name: Install Qt5 | |
| if: startsWith(matrix.qt-ver, '5.') | |
| uses: jurplel/install-qt-action@v4.1.1 | |
| with: | |
| version: ${{ matrix.qt-ver }} | |
| cached: ${{ steps.cache-qt.outputs.cache-hit }} | |
| - name: Install Qt6 | |
| if: startsWith(matrix.qt-ver, '6.') | |
| uses: jurplel/install-qt-action@v4.1.1 | |
| with: | |
| version: ${{ matrix.qt-ver }} | |
| modules: qtmultimedia | |
| cached: ${{ steps.cache-qt.outputs.cache-hit }} | |
| - uses: actions/checkout@v2 | |
| with: | |
| fetch-depth: 0 | |
| submodules: 'true' | |
| ssh-key: ${{ secrets.BOT_SSH_KEY }} | |
| # 编译 | |
| - name: Build MacOS | |
| env: | |
| ENV_QT_PATH: ${{ env.qt-install-path }} | |
| run: | | |
| python ci/generate-version.py | |
| ci/mac/build_for_mac.sh RelWithDebInfo ${{ matrix.build-arch }} | |
| # 获取ref最后一个/后的内容 | |
| - name: Get the version | |
| shell: bash | |
| id: get-version | |
| # ${ GITHUB_REF/refs\/tags\// }是linux shell ${}的变量替换语法 | |
| run: echo ::set-output name=version::${GITHUB_REF##*/} | |
| # 打包 | |
| - name: Package | |
| id: package | |
| env: | |
| ENV_QT_PATH: ${{ env.qt-install-path }} | |
| publish_name: ${{ env.target-name }}-${{ env.plantform-des }}-${{ matrix.build-arch }}-Qt${{matrix.qt-ver}}-${{ steps.get-version.outputs.version }} | |
| run: | | |
| ci/mac/publish_for_mac.sh ../build ${{ matrix.build-arch }} | |
| ci/mac/package_for_mac.sh | |
| mv ci/build/QtScrcpy.app ci/build/${{ env.publish_name }}.app | |
| mv ci/build/QtScrcpy.dmg ci/build/${{ env.publish_name }}.dmg | |
| echo "::set-output name=package-name::${{ env.publish_name }}" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ steps.package.outputs.package-name }}.zip | |
| path: ci/build/${{ steps.package.outputs.package-name }}.dmg | |
| # Upload to release | |
| - name: Upload Release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| uses: svenstaro/upload-release-action@v1-release | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ci/build/${{ steps.package.outputs.package-name }}.dmg | |
| asset_name: ${{ steps.package.outputs.package-name }}.dmg | |
| tag: ${{ github.ref }} | |
| overwrite: true |