OrangeFox Build #8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Recovery Build | |
on: | |
workflow_dispatch: | |
inputs: | |
SYNC_URL: | |
description: 'SYNC_URL' | |
required: true | |
default: 'https://gitlab.com/OrangeFox/sync.git' | |
MANIFEST_BRANCH: | |
description: 'MANIFEST_BRANCH' | |
required: true | |
default: '12.1' | |
DEVICE_TREE_URL: | |
description: 'DEVICE_TREE_URL' | |
required: true | |
default: 'https://github.com/TechySkills/device-infinix-x690b-twrp' | |
DEVICE_TREE_BRANCH: | |
description: 'DEVICE_TREE_BRANCH' | |
required: true | |
default: 'twrp_12.1_Q' | |
DEVICE_PATH: | |
description: 'DEVICE_PATH' | |
required: true | |
default: 'device/Infinix/X690B' | |
COMMON_TREE_URL: | |
description: 'COMMON_TREE_URL (if no common tree, leave blank)' | |
required: false | |
COMMON_PATH: | |
description: 'COMMON_PATH (if no common tree, leave blank)' | |
required: false | |
DEVICE_NAME: | |
description: 'DEVICE_NAME' | |
required: true | |
default: 'X690B' | |
MAKEFILE_NAME: | |
description: 'MAKEFILE_NAME' | |
required: true | |
default: 'twrp_X690B' | |
BUILD_TARGET: | |
description: 'BUILD_TARGET' | |
required: true | |
default: 'recovery' | |
jobs: | |
build: | |
if: github.event.repository.owner.id == github.event.sender.id | |
runs-on: ubuntu-24.04 | |
permissions: | |
contents: write | |
steps: | |
# You might want to Checkout your repo first, but not mandatory | |
- name: Check Out | |
uses: actions/checkout@v3 | |
# Cleanup The Actions Workspace Using Custom Composite Run Actions | |
- name: Cleanup | |
uses: rokibhasansagar/slimhub_actions@main | |
- name: Initialize workspace | |
run: | | |
mkdir workspace | |
cd workspace | |
echo "workspace-folder=$(pwd)" >> $GITHUB_OUTPUT | |
id: pwd | |
- name: Prepare the build environment | |
run: | | |
sudo apt install git aria2 -y | |
git clone https://gitlab.com/OrangeFox/misc/scripts | |
cd scripts | |
sudo bash setup/android_build_env.sh | |
sed -i 's/cd -/cd ../g' setup/install_android_sdk.sh | |
sudo bash setup/install_android_sdk.sh | |
working-directory: ${{ steps.pwd.outputs.workspace-folder }} | |
- name: Sync OrangeFox sources and minimal manifest | |
run: | | |
cd ${{ steps.pwd.outputs.workspace-folder }} | |
git clone ${{ github.event.inputs.SYNC_URL }} | |
cd sync | |
./orangefox_sync.sh --branch ${{ github.event.inputs.MANIFEST_BRANCH }} --path ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }} | |
working-directory: ${{ steps.pwd.outputs.workspace-folder }} | |
- name: Clone device tree | |
run: | | |
cd ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }} | |
git clone ${{ github.event.inputs.DEVICE_TREE_URL }} -b ${{ github.event.inputs.DEVICE_TREE_BRANCH }} ./${{ github.event.inputs.DEVICE_PATH }} | |
working-directory: ${{ steps.pwd.outputs.workspace-folder }} | |
- name: Clone common tree | |
if: | | |
github.event.inputs.COMMON_TREE_URL != null | |
&& github.event.inputs.COMMON_PATH != null | |
run: | | |
cd ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }} | |
git clone ${{ github.event.inputs.COMMON_TREE_URL }} -b ${{ github.event.inputs.DEVICE_TREE_BRANCH }} ./${{ github.event.inputs.COMMON_PATH }} | |
working-directory: ${{ steps.pwd.outputs.workspace-folder }} | |
- name: Set Swap Space | |
uses: pierotofy/set-swap-space@master | |
with: | |
swap-size-gb: 12 | |
- name: Building recovery | |
run: | | |
cd ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }} | |
set +e | |
source build/envsetup.sh | |
export ALLOW_MISSING_DEPENDENCIES=true | |
set -e | |
lunch ${{ github.event.inputs.MAKEFILE_NAME }}-eng && make clean && mka adbd ${{ github.event.inputs.BUILD_TARGET }}image -j$(nproc --all) | |
working-directory: ${{ steps.pwd.outputs.workspace-folder }} | |
continue-on-error: true | |
- name: Check the output directory before uploading | |
run: | | |
ls -al ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/ | |
echo | |
ls -al ${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/${{ github.event.inputs.DEVICE_NAME }}/ | |
- name: Upload to Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/${{ github.event.inputs.DEVICE_NAME }}/*.img | |
${{ steps.pwd.outputs.workspace-folder }}/fox_${{ github.event.inputs.MANIFEST_BRANCH }}/out/target/product/${{ github.event.inputs.DEVICE_NAME }}/*.zip | |
name: ${{ github.event.inputs.DEVICE_NAME }}-${{ github.run_id }} | |
tag_name: ${{ github.run_id }} | |
body: | | |
Manifest: ${{ github.event.inputs.MANIFEST_BRANCH }} | |
Device: ${{ github.event.inputs.DEVICE_NAME }} | |
Target: ${{ github.event.inputs.BUILD_TARGET }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |