foss.crave.io account
-
Download crave.conf from API Keys of foss.crave.io dashboard
-
Fork this repo
-
Go to (repo) Settings -> Security -> Secrets and Variables -> Actions
-
Create a Repository Secret called CRAVE_USERNAME, with username from crave.conf
-
Create a Repository Secret called CRAVE_TOKEN, with authentication token from crave.conf
-
Go to Settings -> Code and Automation -> Actions -> General
-
Set workflow Permissions to "Read and Write Permissions" and save.
-
Now you are ready to build! Go to "Crave Builder" workflow and start building
These runners sit in crave devspace CLI or your personal server and run the workflow on there. Use this if you need to bypass the 6 hours timeout limit.
-
Follow the above steps
-
On the top menu bar of the repository, click on Actions
-
Scroll down and copy the Runner Token(avoid closing this tab till the process is done)
-
Go back to Actions, select "Create Selfhosted Runner"
-
Run Workflow and enter your Runner token. Ensure you have no random spaces before or after
-
Start the workflow
-
After this is done, you are ready to build! Go to the "Crave Builder(self-hosted)" workflow and start building (If the runner is offline still, trigger "Start/Restart Selfhosted Runner" workflow to force-restart the selfhosted runner)
This is the email you signed up to crave with
example:
This is the Authorization part of the crave.conf. It should not contain :
, spaces, or ,
If this exists, the crave.yaml will be overridden while running the workflow
example:
CipherOS:
ignoreClientHostname: true
Arrow OS:
ignoreClientHostname: true
DerpFest-aosp:
ignoreClientHostname: true
LOS 20:
ignoreClientHostname: true
LOS 21:
ignoreClientHostname: true
For more info, read the documentation here
If this exists, these files will be uploaded too. Remember to use relative path like out/target/product/devicename/file.something and seperate multiple files with spaces.
Bot token for telegram notifications
Chat id for telegram notifications
Custom Upload limit for telegram-upload. Default is 2147483648
Custom Upload limit for github releases. Default is 2147483648
- These are the projects everyone can build, with a foss.crave.io account
- These are the ones officially added
- This is only for when you are initializing another ROM. When doing this, ensure you are initializing on top of closest cousin base project
- Don't initialize android 14 on top of android 13 projects
- If you just type 'skip', it will skip the compilation. This is useful for uploading and debugging
- When we resync another ROM on top, we are bound to get "cannot checkout" errors. To fix this, we add that folder to the Removals tab
- Add a space after .repo/local_manifests and add these folders. Don't change if you don't need to
- Almost defunct now, since /opt/crave/resync.sh script on crave handles everything for us
- Here you enter the git repo and branch for your local manifests, containing device specific repositories. These will be cloned to .repo/local_manifests
- Enter the device codename you want to build for inside DEVICE_NAME
- Enter the makefile name(without the .mk) inside MAKEFILE_NAME
- eg. m updatepackage, mka bacon, make recoveryimage
- Choose the build type
-
user: Limited access; suited for production
-
userdebug: Like user but with root access and debug capability; very close to production performance
-
eng: Development configuration with faster build time; most suited for day-to-day development
- Uses fresh Base Project sources without any of your changes(use only for testing/debugging)
- You Tell Me :)
- For scheduled builds, it's better to remove the workflow dispatch stuff, check lineage_builder for reference.
- This Repo is a spiritual successor to azwhikaru's Action-TWRP-Builder
- AntoninoScordino for the recent rewrite
- azwhikaru's Action-TWRP-Builder Which I used as reference
- My Manifest tester (credits to AmogOS project for original logic)
- Other contributors
- The crave team for the build servers and helping us out when we get stuck