theoretically support macOS Mojave?

This commit is contained in:
Julian Chang 2026-07-26 11:59:04 +09:00
parent 6b584fb957
commit 1962e9c0c4
No known key found for this signature in database
3 changed files with 39 additions and 1 deletions

View file

@ -28,6 +28,7 @@ jobs:
os_key: darwin
arch: x86_64
formats: app,dmg
macos_deployment_target: '10.14'
- platform: ubuntu-22.04
target: ''
os_key: linux
@ -43,6 +44,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: (macOS) Pin deployment target
if: matrix.macos_deployment_target != ''
shell: bash
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_deployment_target }}" >> "$GITHUB_ENV"
- name: Setup Rust
uses: ./.github/actions/setup-rust
with:
@ -74,6 +80,19 @@ jobs:
cargo build --release --bin oneclient_app
fi
- name: (macOS) Verify deployment target
if: matrix.macos_deployment_target != ''
shell: bash
run: |
set -euo pipefail
bin="target/${{ matrix.target }}/release/oneclient_app"
minos="$(vtool -show-build "$bin" | awk '/minos/ {print $2; exit}')"
echo "linked minos=$minos, declared minimum=${{ matrix.macos_deployment_target }}"
if [ "$(printf '%s\n%s\n' "$minos" "${{ matrix.macos_deployment_target }}" | sort -V | tail -n1)" != "${{ matrix.macos_deployment_target }}" ]; then
echo "::error::Binary requires macOS $minos but the bundle advertises ${{ matrix.macos_deployment_target }}."
exit 1
fi
- name: Package (unsigned)
shell: bash
env:

View file

@ -61,6 +61,7 @@ jobs:
os_key: darwin
arch: x86_64
formats: app,dmg
macos_deployment_target: '10.14'
- platform: ubuntu-22.04
target: ''
os_key: linux
@ -76,6 +77,11 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: (macOS) Pin deployment target
if: matrix.macos_deployment_target != ''
shell: bash
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_deployment_target }}" >> "$GITHUB_ENV"
- name: Setup Rust
uses: ./.github/actions/setup-rust
with:
@ -143,6 +149,19 @@ jobs:
cargo build --release --bin oneclient_app
fi
- name: (macOS) Verify deployment target
if: matrix.macos_deployment_target != ''
shell: bash
run: |
set -euo pipefail
bin="target/${{ matrix.target }}/release/oneclient_app"
minos="$(vtool -show-build "$bin" | awk '/minos/ {print $2; exit}')"
echo "linked minos=$minos, declared minimum=${{ matrix.macos_deployment_target }}"
if [ "$(printf '%s\n%s\n' "$minos" "${{ matrix.macos_deployment_target }}" | sort -V | tail -n1)" != "${{ matrix.macos_deployment_target }}" ]; then
echo "::error::Binary requires macOS $minos but the bundle advertises ${{ matrix.macos_deployment_target }}."
exit 1
fi
- name: Package
shell: bash
env:

View file

@ -69,7 +69,7 @@ icons = [
]
[package.metadata.packager.macos]
minimum-system-version = "10.15"
minimum-system-version = "10.14"
entitlements = "distribution/App.entitlements"
info-plist-path = "distribution/Info.plist"