forked from Sjj1024/PakePlus-iOS
-
Notifications
You must be signed in to change notification settings - Fork 0
101 lines (84 loc) · 3.31 KB
/
Copy pathbuild.yml
File metadata and controls
101 lines (84 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
name: Build IPA
on:
workflow_dispatch:
# push:
# branches:
# - main
permissions:
contents: write
pages: write
id-token: write
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16.2.0'
- name: Install Dependencies (Homebrew & Theos)
run: |
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo "Setting up Homebrew..."
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
echo "Installing Theos dependencies..."
brew install ldid dpkg
echo "Cloning Theos..."
git clone --recursive https://github.com/theos/theos.git $HOME/theos
echo 'export THEOS=$HOME/theos' >> $HOME/.zshrc
export THEOS=$HOME/theos
- uses: pnpm/action-setup@v3
with:
version: latest
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- name: Init Project Config
run: |
pnpm install
pnpm pp:worker
- name: Generate AppIcon
run: |
echo "Installing appicon tool..."
brew install Nonchalant/appicon/appicon
echo "Generating AppIcon..."
appicon app-icon.png --output-path ./PakePlus/Assets.xcassets/AppIcon.appiconset
- name: Build IPA Package
run: |
export THEOS=$HOME/theos
echo "Building IPA package..."
make package FINALPACKAGE=1 PACKAGE_FORMAT=ipa
- name: Get IPA File Path
id: find_ipa
run: |
IPA_PATH=$(find ./packages -name "*.ipa" | head -n 1)
echo "IPA File: $IPA_PATH"
echo "ipa_path=$IPA_PATH" >> $GITHUB_ENV
- name: Rename IPA File
run: |
NAME="${{ env.NAME }}"
VERSION="${{ env.VERSION }}"
IPA_PATH="${{ env.ipa_path }}"
DIR=$(dirname "$IPA_PATH")
NEW_NAME="${NAME}-${VERSION}.ipa"
NEW_PATH="${DIR}/${NEW_NAME}"
mv "$IPA_PATH" "$NEW_PATH"
echo "Renamed IPA: $NEW_PATH"
echo "ipa_path=$NEW_PATH" >> $GITHUB_ENV
ls -l $DIR
- name: Upload IPA to GitHub Releases
uses: softprops/action-gh-release@v2
with:
files: ${{ env.ipa_path }}
tag_name: '${{ env.NAME }}'
name: '${{ env.NAME }} v${{ env.VERSION }}'
body: '${{ env.PUBBODY }}'
draft: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}