Skip to content

ios: support iOS 16 deployment target #9

ios: support iOS 16 deployment target

ios: support iOS 16 deployment target #9

name: Build Desktop Test
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
env:
MACOSX_DEPLOYMENT_TARGET: "14.0"
CMAKE_OSX_DEPLOYMENT_TARGET: "14.0"
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- id: macos-aarch64
os: macos-26
target: aarch64-apple-darwin
- id: windows-x86_64
os: windows-latest
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.os }}
env:
CARGO_BUILD_TARGET: ${{ matrix.target }}
RELEASE_BUILD_ID: ${{ matrix.id }}
RELEASE_STAGE_DIR: release-artifacts
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Install NSIS
if: runner.os == 'Windows'
shell: powershell
run: choco install nsis -y --no-progress
- name: Cache Rust build
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: rust-test-${{ runner.os }}-${{ matrix.id }}-${{ hashFiles('Cargo.lock') }}
restore-keys: |
rust-test-${{ runner.os }}-${{ matrix.id }}-
rust-test-${{ runner.os }}-
- name: Check
shell: bash
run: cargo check --target "${CARGO_BUILD_TARGET}"
- name: Test release scripts
shell: bash
run: |
node apps/desktop/scripts/release/test-package-gpui.mjs
node apps/desktop/scripts/release/test-publish-github-release.mjs
- name: Build
shell: bash
run: |
if [[ "${RUNNER_OS}" == "Windows" ]]; then
pwsh -NoProfile -ExecutionPolicy Bypass -File tools/build-windows.ps1 -Target "${CARGO_BUILD_TARGET}"
else
cargo build --release --target "${CARGO_BUILD_TARGET}"
fi
- name: Package
shell: bash
run: node apps/desktop/scripts/release/package-gpui.mjs
- name: Upload package artifacts
uses: actions/upload-artifact@v4
with:
name: desktop-test-${{ matrix.id }}
path: release-artifacts/${{ matrix.id }}/*
if-no-files-found: error