Skip to content

๐Ÿ› ๏ธ fastlane ci ๊ตฌ์ถ• #14

๐Ÿ› ๏ธ fastlane ci ๊ตฌ์ถ•

๐Ÿ› ๏ธ fastlane ci ๊ตฌ์ถ• #14

Workflow file for this run

# workflow ์ด๋ฆ„
name: test-CI
# workflow๊ฐ€ ์–ธ์ œ ์‹คํ–‰๋ ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…(When)
on:
# main ๋ธŒ๋žœ์น˜์— pr์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒฝ์šฐ(main ๋ธŒ๋žœ์น˜์—์„œ ๋ถ„๊ธฐํ•œ ๋ธŒ๋žœ์น˜๋„ ์‹คํ–‰๋œ๋‹ค.)
pull_request:
branches:
- 'dev'
# workflow๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹คํ–‰๋ ์ง€์— ๋Œ€ํ•œ ์„ค๋ช…(How)
jobs:
build: # ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์—… ์ •์˜
runs-on: macos-latest # macOS ํ™˜๊ฒฝ์—์„œ ์›Œํฌํ”Œ๋กœ ์‹คํ–‰ (iOS ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด macOS ํ•„์š”)
defaults:
run:
working-directory: ./pennyway-client-iOS # ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ fastlane์ด ํฌํ•จ๋œ iOS ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ์„ค์ •
steps:
- uses: actions/checkout@v2 # ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฝ”๋“œ๋ฅผ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ฒดํฌ์•„์›ƒ
- uses: ruby/setup-ruby@v1 # Ruby ํ™˜๊ฒฝ ์„ค์ •
with:
ruby-version: 2.7 # ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  Ruby ๋ฒ„์ „ ๋ช…์‹œ
- name: Create xcconfig files
run: |
echo "${{ secrets.TEST_CONFIG }}" > ./pennyway-client-iOS/Xcconfig/Test.xcconfig
echo "${{ secrets.RELEASE_CONFIG }}" > ./pennyway-client-iOS/Xcconfig/Release.xcconfig
echo "${{ secrets.DEBUG_CONFIG }}" > ./pennyway-client-iOS/Xcconfig/Debug.xcconfig
echo "${{ secrets.SECRETS_CONFIG }}" > ./pennyway-client-iOS/Xcconfig/Secrets.xcconfig
- name: Install Bundler # Ruby ์˜์กด์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ(Bundler) ์„ค์น˜
run: gem install bundler -v 2.4.22
- name: Install Fastlane # Fastlane ์„ค์น˜ (iOS CI/CD๋ฅผ ์œ„ํ•œ ๋„๊ตฌ)
run: brew install fastlane
- name: Verify Fastlane Installation # Fastlane์ด ์ œ๋Œ€๋กœ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
run: fastlane --version
- name: Install dependencies # Gemfile์— ์ •์˜๋œ Ruby ์˜์กด์„ฑ ์„ค์น˜
run: bundle _2.4.22_ install
- name: Install Pod
run: pod install --repo-update --clean-install
- name: Run tests with Fastlane # Fastlane์„ ์‚ฌ์šฉํ•ด ํ…Œ์ŠคํŠธ ์‹คํ–‰
run: bundle exec fastlane tests