├── .github └── workflows │ └── recovery.yml └── README.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: https://gitlab.com/OrangeFox/Manifest.git 18 | MANIFEST_BRANCH: fox_9.0 19 | DEVICE: rosy 20 | DT_LINK: https://github.com/ElytrA8/recovery_rosy 21 | DT_PATH: device/xiaomi/rosy 22 | TARGET: recoveryimage 23 | TZ: Asia/Kolkata 24 | 25 | jobs: 26 | build: 27 | runs-on: ubuntu-18.04 28 | 29 | steps: 30 | - name: Checkout 31 | uses: actions/checkout@master 32 | 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 -b $MANIFEST_BRANCH --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 | 56 | - name: Build 57 | run: | 58 | cd work 59 | . build/envsetup.sh &&lunch omni_$DEVICE-eng &&export ALLOW_MISSING_DEPENDENCIES=true && mka $TARGET 60 | 61 | - uses: actions/upload-artifact@v2 62 | with: 63 | name: recoveryzip 64 | path: work/out/target/product/*/*.zip 65 | 66 | - uses: actions/upload-artifact@v2 67 | with: 68 | name: recoveryimage 69 | path: work/out/target/product/*/*.img 70 | -------------------------------------------------------------------------------- /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 | #### What this is #### 8 | 9 | This is an easy way for recovery maintainers or anyone who's interested in building recoveries to finish their dream without a server. 10 | 11 | This works with GitHub actions, thank GitHub not me. 12 | 13 | #### How to use #### 14 | 15 | Here are some useful notes to using this tool brewed with black magic. 16 | 17 | 1. Fork the repo to a organization 18 | 19 | 2. Set the variables, as listed below. 20 | 21 | Update : If you don't understand the manifest variable, check [this](https://github.com/Area69Lab/Recovery-builder/blob/master/guide.md) 22 | 23 | Some variables that you'd like to set: 24 | 25 | ```MANIFEST : Link to your recovery manifest, Google it if you don't know what this is``` 26 | 27 | ```MANIFEST_BRANCH : Branch of your recovery manifest. Again, Google it if you don't know what this is``` 28 | 29 | ```DEVICE : Most likely your device codename, e.g. rosy, sakura, curtana, etc.``` 30 | 31 | ```DT_LINK : Link to your recovery device tree.``` 32 | 33 | ```DT_PATH : Path to clone your device tree ``` 34 | 35 | ```TARGET : recoveryimage or bootimage, depending on if your phone has a recovery partition or not ``` 36 | 37 | 3. Go to actions tab, enable workflows. 38 | 39 | 4. Star the repo, go to actions tab again, and let black magic go brrr. 40 | 41 | 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. 42 | 43 | You'd also like to do edits on your recovery device tree first if your recovery needs that (e.g. SHRP, etc.) 44 | 45 | #### Credits and thanks and stuff like that #### 46 | 47 | Made with blek magic by [***Jamie***](https://t.me/henloboi) 48 | 49 | Infinite help from [***ElytrA8***](t.me/ElytrA8) 50 | 51 | Recovery building help from [***Pulkit***](t.me/Pulkit077) 52 | 53 | And lastly, all TWRP compiling help from Google. 54 | 55 | Enjoy buildbotting. 56 | --------------------------------------------------------------------------------