Skip to content

쿠링 패키지 iOS17에서 테스트하기 #358

쿠링 패키지 iOS17에서 테스트하기

쿠링 패키지 iOS17에서 테스트하기 #358

name: 쿠링 패키지 iOS17에서 테스트하기
on:
issue_comment:
types: [created, edited]
# TODO: 각 스킴 비동기로 실행하도록 하기
jobs:
build:
if: github.event.issue.pull_request && contains(github.event.comment.body, '/쿠링') && contains(github.event.comment.body, '패키지 테스트')
runs-on: macos-13 #최신버전
steps:
# 테스트 요청 시작
- name: Test iOS17
run: |
echo "iOS17 에서 패키지의 모든 테스트 타겟을 테스트 합니다."
# iOS17 테스트 응답 커멘트
- name: Add Test comment
uses: actions/github-script@v5
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '🔨 iOS 17 iPhone 15 Pro 에서 쿠링 패키지를 테스트 합니다.'
})
# 코드를 PR 브랜치 HEAD로 체크아웃 합니다.
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: refs/pull/${{ github.event.issue.number }}/head
# Xcode 버전을 설정합니다.
- name: Setup Xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0'
# NoticeFeaturesTests 스킴을 테스트합니다.
- name: NoticeFeaturesTests 테스트
run: |
cd package-kuring
xcodebuild test -scheme NoticeFeaturesTests -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15 Pro' -skipMacroValidation
# SubscriptionFeaturesTests 스킴을 테스트합니다.
- name: SubscriptionFeaturesTests 테스트
run: |
cd package-kuring
xcodebuild test -scheme SubscriptionFeaturesTests -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15 Pro' -skipMacroValidation
# BookmarkFeaturesTests 스킴을 테스트합니다.
- name: BookmarkFeaturesTests 테스트
run: |
cd package-kuring
xcodebuild test -scheme BookmarkFeaturesTests -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15 Pro' -skipMacroValidation
# LabsTests 스킴을 테스트합니다.
- name: BookmarkFeaturesTests 테스트
run: |
cd package-kuring
xcodebuild test -scheme LabsTests -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15 Pro' -skipMacroValidation
# 테스트 성공시 커멘트
- name: Add Build comment
uses: actions/github-script@v5
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '✅ iOS17 에서 패키지를 성공적으로 테스트 했습니다.'
})
# 테스트 실패시 커멘트
- name: Notify failure
uses: actions/github-script@v5
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '📬 iOS17 에서 패키지 테스트에 실패했습니다. Actions에서 실패 결과를 확인해주세요.'
})
if: failure()