mirror of
https://github.com/coteditor/CotEditor.git
synced 2026-05-17 12:40:36 +00:00
75 lines
2.5 KiB
YAML
75 lines
2.5 KiB
YAML
name: Test
|
|
|
|
on: [push, pull_request]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
XCODE_VERSION: "26.5"
|
|
|
|
jobs:
|
|
packages:
|
|
name: Unit Test for ${{ matrix.package }}
|
|
runs-on: macos-26
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
package:
|
|
- EditorCore
|
|
- MacUI
|
|
- Syntax
|
|
|
|
steps:
|
|
- name: Set Xcode version
|
|
run: echo "DEVELOPER_DIR=/Applications/Xcode_${XCODE_VERSION}.app" >> "$GITHUB_ENV"
|
|
- name: Show environments
|
|
run: |
|
|
sw_vers
|
|
xcodebuild -version
|
|
swift --version
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
- name: Cache SwiftPM build products
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: Packages/${{ matrix.package }}/.build
|
|
key: ${{ runner.os }}-${{ runner.arch }}-xcode-${{ env.XCODE_VERSION }}-spm-${{ matrix.package }}-${{ hashFiles(format('Packages/{0}/Package.swift', matrix.package), format('Packages/{0}/Package.resolved', matrix.package)) }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ runner.arch }}-xcode-${{ env.XCODE_VERSION }}-spm-${{ matrix.package }}-
|
|
- name: Unit Test for ${{ matrix.package }}
|
|
run: |
|
|
swift test --package-path "Packages/${{ matrix.package }}"
|
|
|
|
macOS:
|
|
name: Tests for CotEditor
|
|
runs-on: macos-26
|
|
|
|
steps:
|
|
- name: Set Xcode version
|
|
run: echo "DEVELOPER_DIR=/Applications/Xcode_${XCODE_VERSION}.app" >> "$GITHUB_ENV"
|
|
- name: Show environments
|
|
run: |
|
|
sw_vers
|
|
xcodebuild -version
|
|
swift --version
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
- name: Unit Test for CotEditor
|
|
run: |
|
|
xcodebuild test -scheme CotEditor CODE_SIGN_IDENTITY=- CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM= PROVISIONING_PROFILE_SPECIFIER= CODE_SIGN_ENTITLEMENTS_SUFFIX=-AdHoc -skipPackagePluginValidation
|
|
- name: Release Build Smoke Test
|
|
run: |
|
|
set -euo pipefail
|
|
app_binary="/tmp/CotEditorInstall/Applications/CotEditor.app/Contents/MacOS/CotEditor"
|
|
rm -rf /tmp/CotEditorInstall
|
|
xcodebuild install -scheme CotEditor -configuration Release DSTROOT=/tmp/CotEditorInstall CODE_SIGN_IDENTITY=- CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM= PROVISIONING_PROFILE_SPECIFIER= CODE_SIGN_ENTITLEMENTS_SUFFIX=-AdHoc -skipPackagePluginValidation
|
|
"${app_binary}" >/dev/null 2>&1 &
|
|
app_pid=$!
|
|
sleep 5
|
|
if ! kill -0 "${app_pid}" 2>/dev/null; then
|
|
echo "CotEditor terminated unexpectedly during launch smoke test."
|
|
exit 1
|
|
fi
|
|
kill "${app_pid}" 2>/dev/null || true
|