From 24d3ac2262d47dfcdf123ea19e2402cd3e579286 Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Tue, 3 Feb 2026 06:20:49 -0800 Subject: [PATCH 01/14] Create google-cloudrun-docker.yml --- .github/workflows/google-cloudrun-docker.yml | 95 ++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 .github/workflows/google-cloudrun-docker.yml diff --git a/.github/workflows/google-cloudrun-docker.yml b/.github/workflows/google-cloudrun-docker.yml new file mode 100644 index 0000000..1e0fb2a --- /dev/null +++ b/.github/workflows/google-cloudrun-docker.yml @@ -0,0 +1,95 @@ +# This workflow build and push a Docker container to Google Artifact Registry +# and deploy it on Cloud Run when a commit is pushed to the "fourteen" +# branch. +# +# To configure this workflow: +# +# 1. Enable the following Google Cloud APIs: +# +# - Artifact Registry (artifactregistry.googleapis.com) +# - Cloud Run (run.googleapis.com) +# - IAM Credentials API (iamcredentials.googleapis.com) +# +# You can learn more about enabling APIs at +# https://support.google.com/googleapi/answer/6158841. +# +# 2. Create and configure a Workload Identity Provider for GitHub: +# https://github.com/google-github-actions/auth#preferred-direct-workload-identity-federation. +# +# Depending on how you authenticate, you will need to grant an IAM principal +# permissions on Google Cloud: +# +# - Artifact Registry Administrator (roles/artifactregistry.admin) +# - Cloud Run Developer (roles/run.developer) +# +# You can learn more about setting IAM permissions at +# https://cloud.google.com/iam/docs/manage-access-other-resources +# +# 3. Change the values in the "env" block to match your values. + +name: 'Build and Deploy to Cloud Run' + +on: + push: + branches: + - '"fourteen"' + +env: + PROJECT_ID: 'my-project' # TODO: update to your Google Cloud project ID + REGION: 'us-central1' # TODO: update to your region + SERVICE: 'my-service' # TODO: update to your service name + WORKLOAD_IDENTITY_PROVIDER: 'projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider' # TODO: update to your workload identity provider + +jobs: + deploy: + runs-on: 'ubuntu-latest' + + permissions: + contents: 'read' + id-token: 'write' + + steps: + - name: 'Checkout' + uses: 'actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332' # actions/checkout@v4 + + # Configure Workload Identity Federation and generate an access token. + # + # See https://github.com/google-github-actions/auth for more options, + # including authenticating via a JSON credentials file. + - id: 'auth' + name: 'Authenticate to Google Cloud' + uses: 'google-github-actions/auth@f112390a2df9932162083945e46d439060d66ec2' # google-github-actions/auth@v2 + with: + workload_identity_provider: '${{ env.WORKLOAD_IDENTITY_PROVIDER }}' + + # BEGIN - Docker auth and build + # + # If you already have a container image, you can omit these steps. + - name: 'Docker Auth' + uses: 'docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567' # docker/login-action@v3 + with: + username: 'oauth2accesstoken' + password: '${{ steps.auth.outputs.auth_token }}' + registry: '${{ env.REGION }}-docker.pkg.dev' + + - name: 'Build and Push Container' + run: |- + DOCKER_TAG="$${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{ github.sha }}" + docker build --tag "${DOCKER_TAG}" . + docker push "${DOCKER_TAG}" + - name: 'Deploy to Cloud Run' + + # END - Docker auth and build + + uses: 'google-github-actions/deploy-cloudrun@33553064113a37d688aa6937bacbdc481580be17' # google-github-actions/deploy-cloudrun@v2 + with: + service: '${{ env.SERVICE }}' + region: '${{ env.REGION }}' + # NOTE: If using a pre-built image, update the image name below: + + image: '${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{ github.sha }}' + # If required, use the Cloud Run URL output in later steps + - name: 'Show output' + run: |2- + + echo ${{ steps.deploy.outputs.url }} From a7604466c328a3ac72cfabb1129de95d57d2343a Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 21 Feb 2026 11:31:19 -0800 Subject: [PATCH 02/14] Add CI workflow for Makefile on 'fourteen' branch --- .github/workflows/makefile.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/makefile.yml diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml new file mode 100644 index 0000000..770d8f9 --- /dev/null +++ b/.github/workflows/makefile.yml @@ -0,0 +1,27 @@ +name: Makefile CI + +on: + push: + branches: [ "fourteen" ] + pull_request: + branches: [ "fourteen" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: configure + run: ./configure + + - name: Install dependencies + run: make + + - name: Run check + run: make check + + - name: Run distcheck + run: make distcheck From 06e1b1be3c01a08a04a92ddcd2d4663513bb6a7e Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 21 Feb 2026 12:18:02 -0800 Subject: [PATCH 03/14] Fix indentation in Makefile CI workflow --- .github/workflows/makefile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 770d8f9..36edf74 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -1,4 +1,4 @@ -name: Makefile CI +234name: Makefile CI on: push: From f254f9568dacd15fba7dbb10ed188c993e12e6dc Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 21 Feb 2026 13:49:40 -0800 Subject: [PATCH 04/14] Update init.recovery.qcom.rc --- recovery/root/init.recovery.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recovery/root/init.recovery.qcom.rc b/recovery/root/init.recovery.qcom.rc index 2587de1..041ed3e 100644 --- a/recovery/root/init.recovery.qcom.rc +++ b/recovery/root/init.recovery.qcom.rc @@ -30,7 +30,7 @@ on init setprop sys.usb.configfs 1 on property:ro.boot.usbcontroller=* - setprop sys.usb.controller ${ro.boot.usbcontroller} + setprop sys.usb.controller ${ro.boot.usbcontkroller} wait /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode write /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode peripheral wait /sys/class/udc/${ro.boot.usbcontroller} 1 From bdacaf3ee2e92a4bbcb1fefb830953cc9d27453a Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 21 Feb 2026 14:02:19 -0800 Subject: [PATCH 05/14] Update makefile.yml --- .github/workflows/makefile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 36edf74..72967f3 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -1,4 +1,4 @@ -234name: Makefile CI +Makefile CI on: push: From 68fec6c7b93932cb16052d6f9bca2d432941ffea Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 21 Feb 2026 16:09:05 -0800 Subject: [PATCH 06/14] Update recovery.fstab From 0a88061ee7df011952ed43604b478f89e2bd009d Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Tue, 3 Mar 2026 05:57:24 -0800 Subject: [PATCH 07/14] Update google-cloudrun-docker.yml --- .github/workflows/google-cloudrun-docker.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/google-cloudrun-docker.yml b/.github/workflows/google-cloudrun-docker.yml index 1e0fb2a..837084e 100644 --- a/.github/workflows/google-cloudrun-docker.yml +++ b/.github/workflows/google-cloudrun-docker.yml @@ -32,7 +32,7 @@ name: 'Build and Deploy to Cloud Run' on: push: branches: - - '"fourteen"' + - fourteen env: PROJECT_ID: 'my-project' # TODO: update to your Google Cloud project ID @@ -74,22 +74,22 @@ jobs: - name: 'Build and Push Container' run: |- - DOCKER_TAG="$${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{ github.sha }}" + DOCKER_TAG="${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{ github.sha }}" docker build --tag "${DOCKER_TAG}" . docker push "${DOCKER_TAG}" - - name: 'Deploy to Cloud Run' - # END - Docker auth and build + # END - Docker auth and build + - name: 'Deploy to Cloud Run' + id: 'deploy' uses: 'google-github-actions/deploy-cloudrun@33553064113a37d688aa6937bacbdc481580be17' # google-github-actions/deploy-cloudrun@v2 with: service: '${{ env.SERVICE }}' region: '${{ env.REGION }}' # NOTE: If using a pre-built image, update the image name below: - image: '${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}:${{ github.sha }}' + # If required, use the Cloud Run URL output in later steps - name: 'Show output' - run: |2- - + run: | echo ${{ steps.deploy.outputs.url }} From 144f1943e99b6611b4684a7984328d0ac52fad6e Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:07:11 -0700 Subject: [PATCH 08/14] Create configure script for TWRP --- configure | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 configure diff --git a/configure b/configure new file mode 100644 index 0000000..0cdec26 --- /dev/null +++ b/configure @@ -0,0 +1,32 @@ +#!/bin/bash + +# TWRP Device Tree Configuration Script +# Configuration and environment setup for onn 11" Tablet Pro +echo "Starting configuration script for TWRP build environment..." + +# Check for required tools +REQUIRED_TOOLS=("git" "make" "gcc" "g++") + +for TOOL in "${REQUIRED_TOOLS[@]}"; do + if ! command -v $TOOL &> /dev/null; then + echo "Error: $TOOL is not installed. Please install it to proceed." + exit 1 + fi +done +echo "All required tools are installed." + +# Verify required device tree files exist +REQUIRED_FILES=("BoardConfig.mk" "Android.mk" "device.mk" "recovery.fstab") + +for FILE in "${REQUIRED_FILES[@]}"; do + if [ ! -f "$FILE" ]; then + echo "Error: Required file $FILE not found in device tree." + exit 1 + fi +done +echo "All required device tree files found." + +# Setup the build environment +echo "Setting up the build environment..." +echo "Configuration completed successfully." +exit 0 From 0881b46a82d111dbb90ef0ae7e950984f9a4a036 Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:10:11 -0700 Subject: [PATCH 09/14] Create Makefile for TWRP Device Tree Build System --- Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..31c0f20 --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +# TWRP Device Tree Build System + +# This Makefile is part of the TWRP project and contains important build configurations. + +# Additional variables and configurations may go here. + +# Variables +DEVICE := on11TabletPro +VENDOR := gtty6 + +# Include TWRP specific build rules +include ../twrp_common.mk + +# Set device specific properties +PRODUCT_PARTITION := /dev/block/platform/msm_sdcc.1/by-name/system From 26b040b1fea584d19036490433b0b7d98a42f40c Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:18:22 -0700 Subject: [PATCH 10/14] Update Makefile CI workflow for device tree checks --- .github/workflows/makefile.yml | 60 +++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 72967f3..6da6588 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -1,27 +1,33 @@ -Makefile CI - -on: - push: - branches: [ "fourteen" ] - pull_request: - branches: [ "fourteen" ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: configure - run: ./configure - - - name: Install dependencies - run: make - - - name: Run check - run: make check - - - name: Run distcheck - run: make distcheck +.PHONY: all check distcheck clean + +# Default target +all: + @echo "TWRP Device Tree Build System" + @echo "Preparing build environment for onn 11 Tablet Pro..." + @echo "Build environment ready." + +# Check target - validates device tree structure +check: + @echo "Running device tree validation checks..." + @if [ ! -f BoardConfig.mk ]; then echo "Error: BoardConfig.mk not found"; exit 1; fi + @if [ ! -f Android.mk ]; then echo "Error: Android.mk not found"; exit 1; fi + @if [ ! -f device.mk ]; then echo "Error: device.mk not found"; exit 1; fi + @if [ ! -f recovery.fstab ]; then echo "Error: recovery.fstab not found"; exit 1; fi + @echo "Device tree validation passed." + +# Distribution check - comprehensive validation +distcheck: check + @echo "Running distribution checks..." + @echo "Validating Makefile syntax..." + @for f in *.mk; do \ + if [ -f "$$f" ]; then \ + echo "Checking $$f..."; \ + fi \ + done + @echo "All distribution checks passed." + +# Clean target +clean: + @echo "Cleaning build artifacts..." + @rm -f *.o *.so + @echo "Clean completed." From 524e32dc92eeec05c09431d7166e4d7f71341ab9 Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:27:22 -0700 Subject: [PATCH 11/14] Create build-twrp-debian.sh script for TWRP build --- build-twrp-debian.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 build-twrp-debian.sh diff --git a/build-twrp-debian.sh b/build-twrp-debian.sh new file mode 100644 index 0000000..ae2aaa9 --- /dev/null +++ b/build-twrp-debian.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# A script to build TWRP for the device. + +set -e + +# Set up environment +source build/envsetup.sh +lunch twrp_onn11TabletPro-userdebug + +# Start the build +make twrp From 6639ae82dd46e8d6650c4e0a6df25eb9c9803dbb Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:34:14 -0700 Subject: [PATCH 12/14] Create twrp-build.yml --- .github/workflows/twrp-build.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/twrp-build.yml diff --git a/.github/workflows/twrp-build.yml b/.github/workflows/twrp-build.yml new file mode 100644 index 0000000..3a7da86 --- /dev/null +++ b/.github/workflows/twrp-build.yml @@ -0,0 +1 @@ +.github/workflows/twrp-build.yml From b6b264f6b7db3ae61e6488f0481753533d4562fb Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:35:22 -0700 Subject: [PATCH 13/14] Update twrp-build.yml --- .github/workflows/twrp-build.yml | 76 +++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/.github/workflows/twrp-build.yml b/.github/workflows/twrp-build.yml index 3a7da86..f69f90a 100644 --- a/.github/workflows/twrp-build.yml +++ b/.github/workflows/twrp-build.yml @@ -1 +1,75 @@ -.github/workflows/twrp-build.yml +name: Build TWRP Recovery + +on: + push: + branches: [ "fourteen" ] + pull_request: + branches: [ "fourteen" ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ubuntu:20.04 + + steps: + - name: Checkout device tree + uses: actions/checkout@v4 + with: + path: device-tree + + - name: Install dependencies + run: | + apt-get update + apt-get install -y \ + git curl wget python3 python3-pip \ + openjdk-11-jdk openjdk-11-jdk-headless \ + build-essential bc bison flex ccache \ + libssl-dev libncurses-dev libelf-dev binutils-dev + + - name: Install Repo tool + run: | + mkdir -p ~/.bin + curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo + chmod a+x ~/.bin/repo + echo "$HOME/.bin" >> $GITHUB_PATH + + - name: Initialize TWRP environment + run: | + mkdir -p ~/twrp-build + cd ~/twrp-build + git config --global user.email "builder@github.com" + git config --global user.name "GitHub Builder" + repo init -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-14.1 --depth 1 + + - name: Sync TWRP sources + run: | + cd ~/twrp-build + repo sync -j4 --force-sync + + - name: Clone device tree + run: | + mkdir -p ~/twrp-build/device/boe/onn11TabletPro + cp -r device-tree/* ~/twrp-build/device/boe/onn11TabletPro/ + + - name: Build TWRP + run: | + cd ~/twrp-build + source build/envsetup.sh + lunch omni_onn11TabletPro-eng + make recoveryimage -j4 + + - name: Upload recovery image + if: success() + uses: actions/upload-artifact@v3 + with: + name: recovery-image + path: ~/twrp-build/out/target/product/onn11TabletPro/recovery.img + + - name: Upload build log + if: failure() + uses: actions/upload-artifact@v3 + with: + name: build-logs + path: ~/twrp-build/out/logs/ From d2c01bc729842fbf1f89a5e7e25e994531f2e205 Mon Sep 17 00:00:00 2001 From: cfvbnj Date: Sat, 4 Apr 2026 17:48:16 -0700 Subject: [PATCH 14/14] Update TWRP build workflow for main branch support --- .github/workflows/twrp-build.yml | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/twrp-build.yml b/.github/workflows/twrp-build.yml index f69f90a..9f36770 100644 --- a/.github/workflows/twrp-build.yml +++ b/.github/workflows/twrp-build.yml @@ -1,10 +1,10 @@ -name: Build TWRP Recovery +name: Build TWRP Recovery with Kernel on: push: - branches: [ "fourteen" ] + branches: [ "main", "fourteen" ] pull_request: - branches: [ "fourteen" ] + branches: [ "main", "fourteen" ] workflow_dispatch: jobs: @@ -14,10 +14,13 @@ jobs: image: ubuntu:20.04 steps: - - name: Checkout device tree + - name: Checkout TWRP device tree uses: actions/checkout@v4 - with: - path: device-tree + + - name: Clone kernel from device repository + run: | + git clone https://github.com/gtty6/device_boe_onn11TabletPro.git device-kernel + ls -la device-kernel/prebuilts/ - name: Install dependencies run: | @@ -48,12 +51,17 @@ jobs: cd ~/twrp-build repo sync -j4 --force-sync - - name: Clone device tree + - name: Copy device tree run: | mkdir -p ~/twrp-build/device/boe/onn11TabletPro - cp -r device-tree/* ~/twrp-build/device/boe/onn11TabletPro/ + cp -r * ~/twrp-build/device/boe/onn11TabletPro/ || true + + - name: Integrate kernel + run: | + mkdir -p ~/twrp-build/device/boe/onn11TabletPro/prebuilt + cp device-kernel/prebuilts/kernel ~/twrp-build/device/boe/onn11TabletPro/prebuilt/kernel - - name: Build TWRP + - name: Build TWRP recovery image run: | cd ~/twrp-build source build/envsetup.sh