Merge pull request #175 from todaywhat/174-accessibility-school-setting #271
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: iOS CI | |
on: | |
push: | |
branches: ["master"] | |
pull_request: | |
branches: ["*"] | |
env: | |
CACHED_DEPENDENCY_PATHS: ${{ github.workspace }}/Tuist/Dependencies | |
TODAYWHAT_IOS_DISCORD_WEBHOOK: ${{ secrets.TODAYWHAT_IOS_DISCORD_WEBHOOK }} | |
jobs: | |
prepare-dependency: | |
name: ⚙️ Prepare for CI | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
xcode-version: 15.2 | |
- name: Compute dependency cache key | |
id: compute_hash | |
run: echo "hash=${{ hashFiles('Package.swift') }}" >> $GITHUB_OUTPUT | |
- name: Check dependency cache | |
uses: actions/cache@v3 | |
id: cache_dependencies | |
with: | |
path: ${{ env.CACHED_DEPENDENCY_PATHS }} | |
key: ${{ steps.compute_hash.outputs.hash }} | |
- uses: jdx/mise-action@v2 | |
if: steps.cache_dependencies.outputs.cache-hit == '' | |
- name: Install tuist | |
if: steps.cache_dependencies.outputs.cache-hit == '' | |
run: mise install tuist | |
- name: Install dependencies | |
if: steps.cache_dependencies.outputs.cache-hit == '' | |
run: tuist install | |
outputs: | |
dependency_cache_key: ${{ steps.compute_hash.outputs.hash }} | |
test: | |
name: 🧪 Test | |
runs-on: macos-14 | |
needs: prepare-dependency | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
xcode-version: 15.2 | |
- name: Check dependency cache | |
uses: actions/cache@v3 | |
id: cache_dependencies | |
with: | |
path: ${{ env.CACHED_DEPENDENCY_PATHS }} | |
key: ${{ needs.prepare-dependency.outputs.dependency_cache_key }} | |
- name: Setup Xcode version | |
if: steps.cache_dependencies.outputs.cache-hit != 'true' | |
uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: 15.2 | |
- uses: jdx/mise-action@v2 | |
if: steps.cache_dependencies.outputs.cache-hit != 'true' | |
- name: Install tuist | |
if: steps.cache_dependencies.outputs.cache-hit != 'true' | |
run: mise install tuist | |
- name: Install dependencies | |
if: steps.cache_dependencies.outputs.cache-hit != 'true' | |
run: tuist install | |
- name: Test with tuist | |
run: TUIST_ENV=CI tuist test | |
- name: TodayWhat iOS Test Success Discord Notification | |
uses: sarisia/actions-status-discord@v1 | |
if: ${{ success() }} | |
with: | |
title: "✅ 오늘뭐임 iOS Test Success !" | |
description: "Success to test 🧩" | |
webhook: ${{ env.TODAYWHAT_IOS_DISCORD_WEBHOOK }} | |
color: 0x43962A | |
- name: TodayWhat iOS Test Failed Discord Notification | |
uses: sarisia/actions-status-discord@v1 | |
if: ${{ failure() }} | |
with: | |
title: "❌ 오늘뭐임 iOS Test Failed .." | |
description: "Failed to test 🥺" | |
webhook: ${{ env.TODAYWHAT_IOS_DISCORD_WEBHOOK }} | |
color: 0xBB3639 |