/Action-Recovery-Builder

Build Recovery for Android with GitHub Workflow

Primary LanguageShell

Use Github Action to compile Recovery

Support PBRP, SHRP, TWRP compilation and production

Release Notes

= 2024/02/11
- Fix support for dependencies in AOSP trees
- Increase swap size for kernel inline builds
- Remove common tree input fields (not needed)
- OrangeFox not presently supported due to script-based sync methods

= 2023/11/28
- Add support to repopick patches from Gerrit

= 2023/10/31
- Fix build with Omni manifests
- 5.1 branch no longer supported

= 2023/07/21
- Update to ubuntu-20.04
- May not work on older twrp branches

= 2022/07/06
- Add support for 5.1 branch

= 2022/07/05
- Updated to work with trees back to 6.0
- Add conditionals to include common trees for syncing
- Update README for SSH keys

= 2022/07/04
- Updated to work with Android 12.1 AOSP minimal TWRP manifest

= 2022/05/29
- Should work correctly with Android 11 based source code

= 2022/02/03
- Due to the hardware resource limitation of GitHub action, this version cannot be compiled based on AOSP and other source codes of Android 11 and above. If necessary, please use local compilation

= 2021/10/29: 
- Refactored version 2.0
- Completely reconstruct the use logic to reduce the difficulty of use
- Optimize the parameter transfer part, now you can run multiple Workers at the same time
- TWRP compilation test passed
- OFRP compilation test passed
- SHRP compile test passed

Parameter Description

Name Description Example
MANIFEST_URL Source address https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git
MANIFEST_BRANCH Source branch twrp-12.1
DEVICE_TREE_URL Device address https://github.com/TeamWin/android_device_asus_I003D
DEVICE_TREE_BRANCH Device branch android-12.1
DEVICE_PATH Device location device/asus/I003D
DEVICE_NAME Model name I003D
REPOPICK_PATCHES Gerrit patches to include in build (space separated) 1245 1437
BUILD_TARGET Build Target Partition (boot/recovery/vendorboot) recovery

how to use

For example, your username is: Fun-114514

1. Click'Fork' in the upper right corner of this warehouse

2. After waiting for the automatic redirection, you will see your own username

3. Change the username and email in the workflow to reflect your Github credentials

Setting up SSH Keys (optional)

4. Go to Settings, then select Deploy keys and select "Add deploy key" button.

5. On your Android device, install Termux

6. Install openssh in Termux and generate ssh keys. (Do not use passphrase for keys)

NOTE: When creating the deploy key for a repository like git@github.com:owner/repo.git or https://github.com/owner/repo, put that URL into the key comment. (Hint: Try ssh-keygen ... -C "git@github.com:owner/repo.git".) owner = your Github username

pkg install openssh
ssh-keygen -t ed25519 -C "git@github.com:owner/Action-Recovery-Builder.git"

7. Add the keys to your repo. In Termux, use the following commands:

cd /data/data/com.termux/files/usr/etc/ssh
cat ssh_host_ed25519_key.pub

Select and copy the key then paste in the box for Key. You can name it whatever you choose for the title.

8. Now to add your private ssh key. Back in Termux:

cat ssh_host_ed25519_key

Copy the output from Termux.

In your browser, select Secrets under the Security tab. Select Actions Select New repository secret For the New secret name, it should be SSH_PRIVATE_KEY Paste the output from ssh_host_ed25519_key into the Value box. Then select Add secret.

Building the Recovery

9. Click'Actions-Recovery Build'

10. Click'Run workflow' and fill in according to the above'parameter description'

11. After filling in, click'Run workflow' to start running


Compilation results

Can be downloaded at Release


Remark

SKYHAWK Recovery Project: https://github.com/SHRP/manifest.git