Skip to content

🔀 :: (#433) PR Assign, Labels 지정 자동화 workflow 추가 #145

🔀 :: (#433) PR Assign, Labels 지정 자동화 workflow 추가

🔀 :: (#433) PR Assign, Labels 지정 자동화 workflow 추가 #145

Workflow file for this run

name: CI
on:
push:
branches:
- develop
- master
pull_request:
branches:
- "*"
env:
CACHED_DEPENDENCY_PATHS: ${{ github.workspace }}/Tuist/Dependencies
MASTER_KEY_PATH: Tuist/master.key
GOOGLE_SERVICE_INFO_PLIST_PATH: Projects/App/Resources/GoogleService-Info.plist
SECRET_XCCONFIG_PATH: Projects/App/XCConfig/Secrets.xcconfig
jobs:
prepare-ci:
name: ⚙️ Prepare CI
runs-on: macos-14
steps:
- uses: actions/checkout@v3
- name: Select Xcode 15.0
run: sudo xcode-select -s /Applications/Xcode_15.0.app/Contents/Developer
- name: Compute dependency cache key
id: compute_hash
run: echo "hash=${{ hashFiles('Tuist/Dependencies.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: |
tuist_version=`cat .tuist-version`
mise install tuist@$tuist_version
- name: Install dependencies needs
if: steps.cache_dependencies.outputs.cache-hit == ''
run: tuist fetch
outputs:
dependency_cache_key: ${{ steps.compute_hash.outputs.hash }}
test:
name: 🧪 Test
runs-on: macos-14
needs: prepare-ci
steps:
- uses: actions/checkout@v3
- name: List Xcode installations
run: sudo ls -1 /Applications | grep "Xcode"
- name: Select Xcode 15.0
run: sudo xcode-select -s /Applications/Xcode_15.0.app/Contents/Developer
- name: Show swift version
run: swift --version
- uses: jdx/mise-action@v2
- name: Install tuist
run: |
tuist_version=`cat .tuist-version`
mise install tuist@$tuist_version
- name: Check dependency cache
uses: actions/cache@v3
id: cache_dependencies
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.prepare-ci.outputs.dependency_cache_key }}
- name: Install dependencies needs
if: steps.cache_dependencies.outputs.cache-hit != 'true'
run: tuist fetch
- name: Remove Signing
run: rm -rf Tuist/Signing
- name: Make `Secrets.xcconfig`
run: |
mkdir Projects/App/XCConfig
touch ${{ env.SECRET_XCCONFIG_PATH }}
echo "" > ${{ env.SECRET_XCCONFIG_PATH }}
- name: Make `GoogleService-Info.plist`
run: |
touch ${{ env.GOOGLE_SERVICE_INFO_PLIST_PATH }}
echo "${{ secrets.GOOGLE_INFO_PLIST }}" > ${{ env.GOOGLE_SERVICE_INFO_PLIST_PATH }}
- name: Test with tuist
run: make test