forked from roothide/Dopamine2-roothide
-
Notifications
You must be signed in to change notification settings - Fork 0
82 lines (72 loc) · 3.21 KB
/
main.yml
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
name: "*** build tipa file ***"
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: macos-13
steps:
- name: Checkout
run: |
set -x
git clone --recursive https://github.com/roothide/Dopamine2-roothide ${{ github.workspace }}
- name: Install Procursus
uses: dhinakg/procursus-action@main
with:
packages: ldid findutils sed coreutils make
- name: Install THEOS
run: |
set -x
export BASEDIR="$(pwd)"
export THEOS="${BASEDIR}/theos"
mkdir -p $THEOS
curl -fsSL https://raw.githubusercontent.com/roothide/theos/master/bin/install-theos >> install-theos.sh
gsed -E "/^\s*get_theos\s*$/,+1 s/^(\s*)(get_sdks)\s*$/\1mkdir -p \${THEOS}\/sdks\n\1touch \${THEOS}\/sdks\/sdk\n\1\2/g" -i install-theos.sh
bash install-theos.sh
curl -L https://github.com/theos/sdks/releases/latest/download/iPhoneOS16.5.sdk.tar.xz --output $THEOS/sdks/iPhoneOS16.5.sdk.tar.xz
gunzip $THEOS/sdks/iPhoneOS16.5.sdk.tar.xz
tar -xf $THEOS/sdks/iPhoneOS16.5.sdk.tar -C $THEOS/sdks
rm $THEOS/sdks/iPhoneOS16.5.sdk.tar
cd $BASEDIR
- name: Build and Install trustcache
run: |
set -x
git clone https://github.com/CRKatri/trustcache
cd trustcache
gmake -j$(sysctl -n hw.physicalcpu) OPENSSL=1
sudo cp trustcache /opt/procursus/bin/
- name: Set Environment Variables
run: |
set -x
T2=$(TZ=UTC-2 date +'%Y%m%d_%H%M%S')
TS=$(date -j -f "%Y%m%d_%H%M%S" "${T2}" +%s)
SHASH=$(git rev-parse --short HEAD)
echo "ctime=${T2}" >> $GITHUB_ENV
echo "ctimestamp=${TS}" >> $GITHUB_ENV
echo "shorthash=${SHASH}" >> $GITHUB_ENV
- name: Install libarchive
run: |
brew install libarchive
- name: Build
run: |
set -x
export BASEDIR="$(pwd)"
export THEOS="${BASEDIR}/theos"
typeset itemcount=$(plutil -extract items raw -expect array ./Application/Dopamine/UI/Settings/Credits.plist)
for ((i=0; i<$itemcount; i++)); do if [ "$(plutil -extract items.$i.headerCellClass raw ./Application/Dopamine/UI/Settings/Credits.plist)" = "DOCreditsCell" ]; then DOCreditsCellIndex=$i; fi done;
plutil -insert items.$DOCreditsCellIndex.names -xml "<dict><key>name</key><string>${{ github.actor }}</string><key>link</key><string>https://github.com/${{ github.repository }}</string></dict>" -append ./Application/Dopamine/UI/Settings/Credits.plist
gmake -j$(sysctl -n hw.physicalcpu) NIGHTLY=1
TAG=$(git describe --tags --abbrev=0)
mv ./Application/Dopamine.tipa "./Application/roothide-Dopamine2-v${TAG}.tipa"
echo "tag=${TAG}" >> $GITHUB_ENV
- name: Upload Artifact
id: dopamine-latest-upload
uses: actions/upload-artifact@v3
with:
name: roothide-Dopamine2-v${{ env.tag }}.tipa
path: |
${{ github.workspace }}/Application/roothide-Dopamine2-v${{ env.tag }}.tipa