Giter VIP home page Giter VIP logo

builder-elixir's Introduction

AOSP Builder

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

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
  4. Later build should be with 8cpu, also instructed within scripts.

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

builder-elixir's People

Contributors

killerpac avatar apon77 avatar anais20m 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.