1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2024-12-22 07:42:37 +00:00

CI: updrading deprecated macOS 12 to macOS 13 (#7275)

This commit is contained in:
Cœur 2024-12-09 05:57:18 +01:00 committed by GitHub
parent 100e88826c
commit 43f5ca8e0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -313,7 +313,10 @@ jobs:
macos-15-project:
runs-on: macos-15
needs: [ what-to-make ]
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-mac == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
if: ${{ needs.what-to-make.outputs.make-cli == 'true' ||
needs.what-to-make.outputs.make-daemon == 'true' ||
needs.what-to-make.outputs.make-mac == 'true' ||
needs.what-to-make.outputs.make-utils == 'true' }}
steps:
- name: Show Configuration
run: |
@ -335,7 +338,13 @@ jobs:
macos-15-arm64:
runs-on: macos-15
needs: [ what-to-make ]
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-mac == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
if: ${{ needs.what-to-make.outputs.make-cli == 'true' ||
needs.what-to-make.outputs.make-daemon == 'true' ||
needs.what-to-make.outputs.make-gtk == 'true' ||
needs.what-to-make.outputs.make-mac == 'true' ||
needs.what-to-make.outputs.make-qt == 'true' ||
needs.what-to-make.outputs.make-tests == 'true' ||
needs.what-to-make.outputs.make-utils == 'true' }}
steps:
- name: Show Configuration
run: |
@ -391,9 +400,9 @@ jobs:
name: binaries-${{ github.job }}
path: pfx/**/*
# Only verify build support on older macOS and SDK
macos-12:
runs-on: macos-12
# oldest GitHub build support on macOS (Transmission supports macOS 11.0 and newer)
macos-13:
runs-on: macos-13
needs: [ what-to-make ]
if: ${{ needs.what-to-make.outputs.make-mac == 'true' }}
steps:
@ -404,16 +413,17 @@ jobs:
sw_vers
- name: Get Dependencies
run: |
brew unlink pkg-config # https://github.com/actions/runner-images/issues/10984
brew install --formulae cmake gettext libdeflate libevent libpsl miniupnpc ninja node pkgconf
- name: Get Source
uses: actions/checkout@v4
with:
path: src
submodules: recursive
- name: Set Xcode to 13.2.1
# oldest GitHub build support for Xcode (Transmission supports Xcode 12.5.1 and newer)
- name: Set Xcode to 14.1
run: |
sudo xcode-select --switch /Applications/Xcode_13.2.1.app
# https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode
sudo xcode-select --switch /Applications/Xcode_14.1.app
- name: Configure
run: |
cmake \
@ -672,10 +682,16 @@ jobs:
name: binaries-${{ github.job }}
path: pfx/**/*
# Oldest GitHub support for QT on Mac
# Oldest GitHub support for CLI, GTK and QT on Mac
macos-13-x86_64-from-tarball:
needs: [ make-source-tarball, what-to-make ]
if: ${{ needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' }}
if: ${{ needs.what-to-make.outputs.make-cli == 'true' ||
needs.what-to-make.outputs.make-daemon == 'true' ||
needs.what-to-make.outputs.make-gtk == 'true' ||
needs.what-to-make.outputs.make-mac == 'true' ||
needs.what-to-make.outputs.make-qt == 'true' ||
needs.what-to-make.outputs.make-tests == 'true' ||
needs.what-to-make.outputs.make-utils == 'true' }}
runs-on: macos-13
steps:
- name: Show Configuration
@ -685,8 +701,10 @@ jobs:
sw_vers
- name: Get Dependencies
run: |
brew unlink pkg-config # https://github.com/actions/runner-images/issues/10984
brew install --formulae cmake gettext ninja node pkgconf
- name: Get Dependencies (GTK)
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
run: brew install --formula gtkmm3
- name: Get Dependencies (Qt)
if: ${{ needs.what-to-make.outputs.make-qt == 'true' }}
run: brew install --formula qt
@ -706,76 +724,11 @@ jobs:
-DCMAKE_INSTALL_PREFIX=pfx \
-DCMAKE_OSX_ARCHITECTURES='x86_64' \
-DCMAKE_PREFIX_PATH=`brew --prefix`/opt/qt \
-DENABLE_CLI=OFF \
-DENABLE_DAEMON=OFF \
-DENABLE_GTK=OFF \
-DENABLE_MAC=OFF \
-DENABLE_QT=ON \
-DENABLE_TESTS=${{ (needs.what-to-make.outputs.make-tests == 'true') && 'ON' || 'OFF' }} \
-DENABLE_UTILS=OFF \
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \
-DENABLE_WERROR=ON \
-DRUN_CLANG_TIDY=OFF \
-DUSE_SYSTEM_EVENT2=OFF \
-DUSE_SYSTEM_DEFLATE=OFF \
-DUSE_SYSTEM_DHT=OFF \
-DUSE_SYSTEM_MINIUPNPC=OFF \
-DUSE_SYSTEM_NATPMP=OFF \
-DUSE_SYSTEM_UTP=OFF \
-DUSE_SYSTEM_B64=OFF \
-DUSE_SYSTEM_PSL=OFF
- name: Make
run: cmake --build obj --config RelWithDebInfo
- name: Test
if: ${{ needs.what-to-make.outputs.make-tests == 'true' }}
env:
TMPDIR: /private/tmp
run: cmake -E chdir obj ctest -j $(sysctl -n hw.logicalcpu) --build-config RelWithDebInfo --output-on-failure
- name: Install
run: cmake --build obj --config RelWithDebInfo --target install/strip
- uses: actions/upload-artifact@v4
with:
name: binaries-${{ github.job }}
path: pfx/**/*
# Oldest GitHub support for CLI and GTK on Mac
macos-12-x86_64-from-tarball:
needs: [ make-source-tarball, what-to-make ]
if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-mac == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }}
runs-on: macos-12
steps:
- name: Show Configuration
run: |
echo '${{ toJSON(needs) }}'
echo '${{ toJSON(runner) }}'
sw_vers
- name: Get Dependencies
run: |
brew unlink pkg-config # https://github.com/actions/runner-images/issues/10984
brew install --formulae cmake gettext ninja node pkgconf
- name: Get Dependencies (GTK)
if: ${{ needs.what-to-make.outputs.make-gtk == 'true' }}
run: brew install --formula gtkmm3
- name: Get Source
uses: actions/download-artifact@v4
with:
name: source-tarball
- name: Extract Source
run: mkdir src && tar xf transmission*.tar.* -C src --strip-components 1
- name: Configure
run: |
cmake \
-S src \
-B obj \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=pfx \
-DCMAKE_OSX_ARCHITECTURES='x86_64' \
-DENABLE_CLI=${{ (needs.what-to-make.outputs.make-cli == 'true') && 'ON' || 'OFF' }} \
-DENABLE_DAEMON=${{ (needs.what-to-make.outputs.make-daemon == 'true') && 'ON' || 'OFF' }} \
-DENABLE_GTK=${{ (needs.what-to-make.outputs.make-gtk == 'true') && 'ON' || 'OFF' }} \
-DENABLE_MAC=${{ (needs.what-to-make.outputs.make-mac == 'true') && 'ON' || 'OFF' }} \
-DENABLE_QT=OFF \
-DENABLE_QT=${{ (needs.what-to-make.outputs.make-qt == 'true') && 'ON' || 'OFF' }} \
-DENABLE_TESTS=${{ (needs.what-to-make.outputs.make-tests == 'true') && 'ON' || 'OFF' }} \
-DENABLE_UTILS=${{ (needs.what-to-make.outputs.make-utils == 'true') && 'ON' || 'OFF' }} \
-DREBUILD_WEB=${{ (needs.what-to-make.outputs.make-web == 'true') && 'ON' || 'OFF' }} \