Skip to content

✨[feat]: gitaction 추가 #64

✨[feat]: gitaction 추가

✨[feat]: gitaction 추가 #64

name: uploadTestFlight
on:
push:
branches: [ "develop" ]
jobs:
build:
runs-on: macos-latest
steps:
# Checkout the code from the repository
- uses: actions/checkout@v2
# Setup the specific Xcode version required
- name: Setup Xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 16.0-beta
# Add SSH Key for accessing private repositories or servers
- uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }} # Your SSH private key stored in GitHub Secrets
known_hosts: github.com # Ensures secure SSH connection to GitHub
if_key_exists: replace
# Uninstall the deprecated Tuist version
- name: Uninstall Deprecated Tuist
run: curl -Ls https://uninstall.tuist.io | bash
# Install and activate Mise
- name: Install and Activate Mise
run: |
curl https://mise.run | sh
# Ensure Mise executable has correct permissions
chmod +x ~/.local/bin/mise
# Add Mise shims directory to PATH
echo 'export PATH="$HOME/.local/share/mise/shims:$PATH"' >> $GITHUB_ENV
export PATH="$HOME/.local/share/mise/shims:$PATH" # Immediately update the PATH
# Activate Mise in the current session
eval "$(/Users/runner/.local/bin/mise activate bash)"
# Check Mise installation status
mise doctor
# Install a specific version of Tuist using Mise
- name: Install Specific Tuist Version
run: mise install tuist@4.25.0
# Use the installed Tuist version globally
- name: Use Specific Tuist Version Globally
run: mise use -g tuist@4.25.0
# Verify Tuist installation and add Tuist to PATH
- name: Verify Tuist Installation
run: |
# Debugging: Check common installation paths for Tuist
echo "Checking common Tuist installation directories..."
ls -al $HOME/.local/share/mise/shims
ls -al /usr/local/bin
ls -al $HOME/.local/bin
# Attempt to find the Tuist executable
echo "Searching for Tuist..."
find $HOME -name tuist 2>/dev/null
find /usr/local -name tuist 2>/dev/null
# Update the PATH for this session and add it to the environment for future steps
export PATH="$HOME/.local/share/mise/shims:$PATH"
echo 'export PATH="$HOME/.local/share/mise/shims:$PATH"' >> $GITHUB_ENV
# Check if Tuist is available and verify the version
which tuist
tuist version
# Setup Ruby environment with the specified version
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
bundler-cache: true # Enable caching to speed up subsequent runs
# Install Fastlane and other dependencies using Bundler
- name: Install Dependencies
run: |
export PATH="$HOME/.local/share/mise/shims:$PATH" # Ensure PATH is updated in each step
bundle install --jobs 4 --retry 3 # Install all required gems including Fastlane
working-directory: ./OPeace
# Execute Tuist commands: clean, install dependencies, and generate the project
- name: Execute Tuist tasks
run: |
export PATH="$HOME/.local/share/mise/shims:$PATH" # Ensure PATH is updated in each step
tuist clean
tuist install
tuist generate
working-directory: ./OPeace
# Run Fastlane with the specified environment variables for deployment
# Run Fastlane with the specified environment variables for deployment
- name: Run Fastlane QA_GIT
run: |
export PATH="$HOME/.local/share/mise/shims:$PATH" # Ensure PATH is updated in each step
# Specify the username directly in the Fastlane match commands
bundle exec fastlane QA_GIT
working-directory: ./OPeace
env:
APP_NAME: "OPeace"
SCHEME: "OPeace-QA"
TEAM_ID: ${{ secrets.TEAM_ID }}
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
SLACK_URL_UPLOAD: ${{ secrets.SLACK_URL_UPLOAD }}