Skip to content

[iOS] 테스트 CI 설정 #16

[iOS] 테스트 CI 설정

[iOS] 테스트 CI 설정 #16

name: test-ci
# 트리거 조건 (push 하거나 PR 하면 하단의 jobs를 실행하겠다는 뜻)
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
# 작업 중복 실행 방지
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
# 트리거 발생 시 실행할 작업들
jobs:
test:
runs-on: macos-13 # iOS 플랫폼에서 실행
env:
DEVELOPER_DIR: "/Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer"
strategy:
matrix:
xcode:
# - "14.1" # Swift 5.7
# - "14.3" # Swift 5.8
- "15.0" # Swift 5.9
steps:
- name: Runner Overview
run: system_profiler SPHardwareDataType SPSoftwareDataType SPDeveloperToolsDataType
- name: Checkout repository
uses: actions/checkout@v4
- name: Copy secrets to github action
env:
ENV: ${{ secrets.ENV }} # repository secrets 에서 가져옴
OCCUPY_SECRET_DIR: ./KCS # 레포지토리 내 파일 의 위치
OCCUPY_SECRET_DIR_FILE_NAME: Secret.xcconfig # 파일 이름
run: |
echo $ENV >> $OCCUPY_SECRET_DIR/$OCCUPY_SECRET_DIR_FILE_NAME
# CocoaPod 을 사용하므로 설치후 테스트 진행
# - name: Install CocoaPods
# run: |
# pod install --repo-update --project-directory=KCS
- name: Install CocoaPods dependencies
working-directory: KCS
run: bundle exec pod install || bundle exec pod install --repo-update
# - name: Test
# run: |
# xcodebuild clean test -workspace KCS/KCS.xcworkspace -scheme "KCS" -destination "platform=iOS Simulator,name=iPhone 14 Pro"
- name: Test
run: |
xcodebuild clean test -project KCS/KCS.xcodeproj -scheme "KCS" -destination "platform=iOS Simulator,name=iPhone 14 Pro"