├── .github └── workflows │ └── recovery.yml ├── README.md └── guide.md /.github/workflows/recovery.yml: -------------------------------------------------------------------------------- 1 | name: Building recovery 2 | 3 | on: 4 | # release: 5 | # types: [published] 6 | # push: 7 | # branches: 8 | # - master 9 | # paths: 10 | # - '.config' 11 | # schedule: 12 | # - cron: 0 8 * * 5 13 | watch: 14 | types: [started] 15 | 16 | env: 17 | MANIFEST: git://github.com/SKYHAWK-Recovery-Project/platform_manifest_twrp_omni.git -b android-9.0 18 | DEVICE: rosy 19 | DT_LINK: https://github.com/JamieHoSzeYui/android_recovery_xiaomi_rosy 20 | DT_PATH: device/xiaomi/rosy 21 | KERNEL_LINK: https://github.com/Pulkit077/kernel_xiaomi_rosy 22 | KERNEL_PATH: kernel/xiaomi/rosy 23 | TARGET: recoveryimage 24 | TZ: Asia/Kolkata 25 | 26 | jobs: 27 | build: 28 | runs-on: ubuntu-18.04 29 | 30 | steps: 31 | - name: Checkout 32 | uses: actions/checkout@master 33 | 34 | - name: Initializing environment 35 | run: | 36 | sudo rm -rf /usr/share/dotnet /etc/mysql /etc/php /etc/apt/sources.list.d 37 | docker rmi `docker images -q` 38 | sudo apt-get remove account-plugin-facebook account-plugin-flickr account-plugin-jabber account-plugin-salut account-plugin-twitter account-plugin-windows-live account-plugin-yahoo aisleriot brltty duplicity empathy empathy-common example-content gnome-accessibility-themes gnome-contacts gnome-mahjongg gnome-mines gnome-orca gnome-screensaver gnome-sudoku gnome-video-effects gnomine landscape-common libreoffice-avmedia-backend-gstreamer libreoffice-base-core libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gnome libreoffice-gtk libreoffice-impress libreoffice-math libreoffice-ogltrans libreoffice-pdfimport libreoffice-style-galaxy libreoffice-style-human libreoffice-writer libsane libsane-common mcp-account-manager-uoa python3-uno rhythmbox rhythmbox-plugins rhythmbox-plugin-zeitgeist sane-utils shotwell shotwell-common telepathy-gabble telepathy-haze telepathy-idle telepathy-indicator telepathy-logger telepathy-mission-control-5 telepathy-salut totem totem-common totem-plugins printer-driver-brlaser printer-driver-foo2zjs printer-driver-foo2zjs-common printer-driver-m2300w printer-driver-ptouch printer-driver-splix 39 | git config --global user.name "ElytrA8" 40 | git config --global user.email "manofuranium@gmail.com" 41 | sudo -E apt-get -y purge azure-cli ghc* zulu* hhvm llvm* firefox google* dotnet* powershell openjdk* mysql* php* 42 | sudo -E apt-get clean 43 | sudo -E apt-get -qq update 44 | sudo -E apt-get -qq install bc build-essential zip curl libstdc++6 git wget python gcc clang libssl-dev repo rsync flex curl bison aria2 45 | sudo curl --create-dirs -L -o /usr/local/bin/repo -O -L https://storage.googleapis.com/git-repo-downloads/repo 46 | sudo chmod a+rx /usr/local/bin/repo 47 | 48 | - name: Sync recovery source and device tree 49 | run: | 50 | mkdir work 51 | cd work 52 | repo init -u $MANIFEST --depth=1 --groups=all,-notdefault,-device,-darwin,-x86,-mips 53 | repo sync -j4 54 | git clone $DT_LINK --depth=1 --single-branch $DT_PATH 55 | git clone $KERNEL_LINK --depth=1 --single-branch $KERNEL_PATH 56 | 57 | - name: Build 58 | run: | 59 | cd work 60 | . build/envsetup.sh &&lunch omni_$DEVICE-eng &&export ALLOW_MISSING_DEPENDENCIES=true && mka $TARGET 61 | 62 | - uses: actions/upload-artifact@v2 63 | with: 64 | name: recoveryzip 65 | path: work/out/target/product/*/*.zip 66 | 67 | - uses: actions/upload-artifact@v2 68 | with: 69 | name: recoveryimage 70 | path: work/out/target/product/*/*.img 71 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Building recovery online made easy # 2 | 3 | ## Important notice ## 4 | ### Users reported build errors forking to own account. ### 5 | ### To fix this, create a new organization, fork to the new organization. This fixes the problem, for now. 6 | 7 | ## Important notice 2 ## 8 | ### I realized that some recovery trees has prebuilt kernels, which makes this basically useless. ### 9 | ### If your recovery tree has prebuilt kernel, move to [this](https://github.com/Area69Lab/Recovery-Builder-NoKernel) ### 10 | 11 | #### What this is #### 12 | 13 | This is an easy way for recovery maintainers or anyone who's interested in building recoveries to finish their dream without a server. 14 | 15 | This works with GitHub actions, thank GitHub not me. 16 | 17 | #### How to use #### 18 | 19 | Here are some useful notes to using this tool brewed with black magic. 20 | 21 | 1. Fork the repo to a organization 22 | 23 | 2. Set the variables, as listed below. 24 | 25 | Update : If you don't understand the manifest command, check [this](https://github.com/Area69Lab/Recovery-builder/blob/master/guide.md) 26 | 27 | Some variables that you'd like to set: 28 | 29 | ```MANIFEST : Link to your recovery manifest, Google it if you don't know what this is``` 30 | 31 | ```DEVICE : Most likely your device codename, e.g. rosy, sakura, curtana, etc.``` 32 | 33 | ```DT_LINK : Link to your recovery device tree.``` 34 | 35 | ```DT_PATH : Path to clone your device tree ``` 36 | 37 | ```KERNEL_LINK : Link to your device kernel source ``` 38 | 39 | ```KERNEL_PATH : Path to clone your kernel tree ``` 40 | 41 | ```TARGET : recoveryimage or bootimage, depending on if your phone has a recovery partition or not ``` 42 | 43 | 3. Go to actions tab, enable workflows. 44 | 45 | 4. Star the repo, go to actions tab again, and let black magic go brrr. 46 | 47 | If you don't know any of these, **Ask [Google](https://www.google.com) or someone who builds recoveries**, I don't provide TWRP building support. 48 | 49 | You'd also like to do edits on your recovery device tree first if your recovery needs that (e.g. SHRP, etc.) 50 | 51 | #### Credits and thanks and stuff like that #### 52 | 53 | Made with blek magic by [***Jamie***](https://t.me/henloboi) 54 | 55 | Infinite help from [***ElytrA8***](t.me/ElytrA8) 56 | 57 | Recovery building help from [***Pulkit***](t.me/Pulkit077) 58 | 59 | And lastly, all TWRP compiling help from Google. 60 | 61 | Enjoy buildbotting. 62 | -------------------------------------------------------------------------------- /guide.md: -------------------------------------------------------------------------------- 1 | ## Little Guide for Manifest command ## 2 | 3 | ### So yea, I'm quite sorry if I really messed up your builds cuz I didn't say all stuff correctly. ### 4 | 5 | Here's a full guide on the "Manifest" variable. 6 | 7 | #### What is the manifest variable #### 8 | 9 | It determines the branch and the manifest link of the recovery you wanna build. 10 | 11 | Here's the syntax and an example. 12 | 13 | ``` 14 | 15 | ``` 16 | 17 | ``` 18 | git://github.com/SKYHAWK-Recovery-Project/platform_manifest_twrp_omni.git -b android-9.0 19 | ``` 20 | 21 | So if you have any problems, read this. 22 | 23 | 24 | Thank you. 25 | 26 | By [Jamie](t.me/henloboi) 27 | --------------------------------------------------------------------------------