Build VoltageOS GSI #5
Workflow file for this run
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: 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 |