-
Notifications
You must be signed in to change notification settings - Fork 13
166 lines (142 loc) · 5.83 KB
/
recovery-build.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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# Credits to azwhikaru & chickendrop89
# https://github.com/azwhikaru/Action-OFRP-Builder
name: recovery-build
on:
workflow_dispatch:
inputs:
SYNC_URL:
description: 'SYNC_URL'
required: true
default: 'https://gitlab.com/OrangeFox/sync.git'
MANIFEST_BRANCH:
description: 'MANIFEST_BRANCH'
required: true
default: '12.1'
DEVICE_TREE_URL:
description: 'DEVICE_TREE_URL'
required: true
default: 'https://github.com/chickendrop89/orangefox_device_xiaomi_tapas'
DEVICE_TREE_BRANCH:
description: 'DEVICE_TREE_BRANCH'
required: true
default: 'fox-12.1'
DEVICE_PATH:
description: 'DEVICE_PATH'
required: true
default: 'device/xiaomi/tapas'
DEVICE_NAME:
description: 'DEVICE_NAME'
required: true
default: 'tapas'
DEVICE_VARIANT:
description: 'DEVICE_VARIANT'
required: true
default: 'tapas/topaz-A13+'
MAKEFILE_NAME:
description: 'MAKEFILE_NAME'
required: true
default: 'twrp_tapas'
BUILD_TARGET:
description: 'BUILD_TARGET'
required: true
default: 'recovery'
jobs:
build:
if: github.event.repository.owner.id == github.event.sender.id
runs-on: ubuntu-latest
permissions:
contents: write
steps:
# You might want to Checkout your repo first, but not mandatory
- name: Check Out
uses: actions/checkout@v3
# Cleanup The Actions Workspace Using Custom Composite Run Actions
- name: Cleanup
uses: rokibhasansagar/slimhub_actions@main
- name: Initialize workspace
run: |
mkdir workspace
cd workspace
echo "workspace-folder=$(pwd)" >> $GITHUB_OUTPUT
id: pwd
- name: Prepare the build environment
run: |
sudo apt-get install git aria2 -y
git clone --depth 1 https://gitlab.com/OrangeFox/misc/scripts
cd scripts
sudo bash setup/android_build_env.sh
sed -i 's/cd -/cd ../g' setup/install_android_sdk.sh
sudo bash setup/install_android_sdk.sh
working-directory: ${{ steps.pwd.outputs.workspace-folder }}
- name: Sync OrangeFox sources and minimal manifest
run: |
cd ${{ steps.pwd.outputs.workspace-folder }}
git clone --depth 1 ${{ github.event.inputs.SYNC_URL }}
cd sync
./orangefox_sync.sh --branch ${{ github.event.inputs.MANIFEST_BRANCH }} --path ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}
working-directory: ${{ steps.pwd.outputs.workspace-folder }}
- name: Clone device tree
run: |
cd ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}
git clone --depth 1 ${{ github.event.inputs.DEVICE_TREE_URL }} -b ${{ github.event.inputs.DEVICE_TREE_BRANCH }} ./${{ github.event.inputs.DEVICE_PATH }}
working-directory: ${{ steps.pwd.outputs.workspace-folder }}
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 12
- name: Set up ccache
uses: hendrikmuhs/[email protected]
with:
key: ${{ runner.os }}-${{ github.sha }}
restore-keys: ${{ runner.os }}
- name: Building recovery
run: |
HOME_CCACHE_DIR=${{ steps.pwd.outputs.workspace-folder }}/../.ccache
BIND_CCACHE_DIR=/mnt/ccache
echo "Creating/Binding CCACHE directories ..."
if [ ! -d "$HOME_CCACHE_DIR" ]; then
mkdir $HOME_CCACHE_DIR
fi
sudo mkdir $BIND_CCACHE_DIR
sudo mount --bind $HOME_CCACHE_DIR $BIND_CCACHE_DIR
cd ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}
set +e
source build/envsetup.sh
set -e
lunch ${{ github.event.inputs.MAKEFILE_NAME }}-eng && make clean && mka adbd ${{ github.event.inputs.BUILD_TARGET }}image -j$(nproc --all)
working-directory: ${{ steps.pwd.outputs.workspace-folder }}
continue-on-error: true
- name: Check the output directory before uploading
run: |
ls -al ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/
echo
ls -al ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/${{ github.event.inputs.DEVICE_NAME }}/
- name: Get current date
id: date
run: |
echo "builddate=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: |
${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/${{ github.event.inputs.DEVICE_NAME }}/*.img
${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/${{ github.event.inputs.DEVICE_NAME }}/*.zip
name: orangefox-${{ github.event.inputs.DEVICE_VARIANT }}
tag_name: ${{ steps.date.outputs.builddate }}
body: |
Manifest: ${{ github.event.inputs.MANIFEST_BRANCH }}
Device: ${{ github.event.inputs.DEVICE_NAME }}/topaz
Releaase Date: ${{ steps.date.outputs.builddate }}
* [XDA Developers Thread](https://forum.xda-developers.com/t/unofficial-recovery-13-orangefox-recovery-project-tapas-topaz.4600157/)
This build works for both `topaz` and `tapas` variant !!!
Known Issues:
*
**Notice:**
*
Changelog:
*
Flash Instructions:
* `fastboot flash recovery xxx.img`
* `or use your existing recovery to flash the ZIP (recommended)`
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}