Giter Site home page Giter Site logo

supercosmicbeing / aosp-builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apon77/aosp-builder

0.0 0.0 3.0 44 KB

Build aosp project in docker with Ubuntu 20.04 via ci environments (by @Apon77)

License: Apache License 2.0

Shell 100.00%

aosp-builder's Introduction

AOSP Builder

Build aosp project in docker with Ubuntu 20.04 via ci environments (by Apon77)

Thanks Almighty Who has given mental strength, knowledge and patience.

Thanks Cirrus CI for their awesome service!

I tried to explian every steps by comments! Try to read those throughly!

[ You can use your own creativity for this whole process, what i did is used the normal process, collected the cache, redownloaded and reused it, and for overcoming time limit first build was done with a timeout from our side to get ccache uploaded. You can do these processes manually too! But I like ci! Let's a ci be ci, hehe. ]

Steps:

  1. Fork this repo
  2. Go to https://github.com/marketplace/cirrus-ci
  3. Pricing and setup > Public Repositories > Install it for free
  4. In next page click Complete order and begin installation
  5. In next page select All repositories or only selected repository (select aosp-builder) > Install
  6. In next page give password and Confirm password
  7. Setup is done for cirrus ci in your account! You can close the tab now!
  8. Install rclone in any pc and setup any cloud drive, where to store cccahe. Setup rclone and collect the content of ~/.config/rclone/rclone.conf and paste that inside cirrus ci repository secret, explained in .cirrus.yml file. You can take help of rclone website . It's recommended to use own client id and secret, but you can use rclone default config if you can sacrifice some speed (60MBPS vs 7MBPS upload speed)! You can use normal google account rather than team drive too! ccache will be fit inside 15GB drive limit hopefully!
  9. Setup google drive index by help of any of these two or any gdrive index you want.

so that it can be accesed url like this https://roms.apon77.workers.dev with a persistance link! Because ccache need to be downloaded everytime you build! You can do your creativity to download ccache or use transfer.sh too! Thats your choice! I use google drive for the speed and not to change ccache url always! Though may be not needed if you can use transfer.sh or other uploading and downoading solutions! But transfer.sh will need to change the ccache url inside downlad_ccache script everytime you push, which is unpleasant! So, rclone is better choice from my perspective.

I prefer using rclone own id config for google drive team drive with google drive index

  1. All other steps can be found inside every script! Plese read those carefully.
  2. After setting up all other scripts according to your needs, then just do any commit in this repo, and build will be triggered!
    Whenever you need a build you can just commit in this repo. By the way, check the cpu count when you start build, its recommended to use 8cpu and 10cpu for the flexibility (in .cirrus.yml file), Otherwise account gets locks for few times! Which is unpleasant!
  3. First commit build should be stopped immediatly with 1cpu, and setup your rclone_config encrypted variable in cirrus ci repo, instructed in .cirrus.yml file. Please use your own rclone_config variable in .cirrus.yml. Otherwise, you may not be able to complete the build.
    Your build log must not be yellow marked as "Failed to decrypt some environment variables: NOT_FOUND:".
  4. Later 2 builds should be with 10cpu to collect and upload ccache, also instructed within scripts. This collecting cccahe step (both upload and download) is very important. Without this step probably you wont be succeed to get a build.
  5. I appologize that, this repo came with some previous ccache. I got that when i was testing.
    So, for your convinence, https://github.com/Apon77Lab/aosp-builder did fork this repo and did essential commits and got a succeed build, which is almost identical to your situation and has no previous ccache. It's highly recommended that you should observe carefully his commits to know what you actually need to do in scripts. For little support you can contact me here! https://t.me/Apon77Mido

Humble request to all not to abuse this system. Happy building!!!

aosp-builder's People

Contributors

apon77 avatar frost2k5 avatar rahul9999xda avatar supercosmicbeing avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.