Files
2026-05-07 10:53:57 +09:00

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