Skip to content

Build VoltageOS GSI

Build VoltageOS GSI #5

Workflow file for this run

name: Build VoltageOS GSI
on:
workflow_dispatch:
env:
CCACHE_COMPRESS: 1
CCACHE_MAXSIZE: 50G
DISABLE_RUNNER_CLEANUP: true # should ONLY be set to true if ABSOLUTELY necessary
USE_CCACHE: 1
jobs:
build-voltage:
runs-on: [self-hosted]
steps:
- name: checkout basic repo
uses: actions/checkout@v4
- name: clone voltage manifest
run: repo init -u https://github.com/VoltageOS/manifest.git -b 14 --depth=1
- name: copy manifest config
run: |
mkdir -p .repo/local_manifests
cp -v manifest.xml .repo/local_manifests/
- name: setup git-lfs hook
run: git lfs install
- name: perform full sources sync (with auto retry)
uses: corrupt952/retry-command@v1
with:
command: repo sync -c -j"$(nproc --all)" --force-sync --no-clone-bundle --no-tags
max_attempts: 5
retry_interval: 60
- name: apply patches
run: |
./patches/apply.sh . trebledroid
./patches/apply.sh . ponces
./patches/apply.sh . personal
./patches/apply.sh . graphene
- name: generate base voltage config
run: bash generate.sh Voltage
working-directory: device/phh/treble
- name: initialize ccache
run: ccache -M 50G -F 0
- name: build gsi
run: |
. build/envsetup.sh
lunch treble_arm64_bvN-userdebug
make systemimage -j"$(nproc --all)"
- name: compress system.img with xz
run: xz -9 -T0 -v -z system.img
working-directory: out/target/product/tdgsi_arm64_ab
- name: upload system.img to temp.sh
run: curl -F "[email protected]" https://temp.sh/upload
working-directory: out/target/product/tdgsi_arm64_ab
- name: cleanup work directory
uses: eviden-actions/clean-self-hosted-runner@v1
if: ${{ always() }} # Run even if previous steps in the job fail or are canceled