Skip to content

Commit e543a8b

Browse files
Update build.yml
1 parent f814840 commit e543a8b

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

.github/workflows/build.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,56 @@
1-
name: Full-Dep Termux Factory
1+
name: Universal Termux Factory
22

33
on:
44
workflow_dispatch:
55
inputs:
66
package_name:
7-
description: 'Main package to build (e.g., manim)'
7+
description: 'Main package to build'
88
required: true
99
default: 'manim'
1010
system_deps:
11-
description: 'System libs needed for compilation (e.g., libcairo2-dev libpango1.0-dev)'
11+
description: 'System libs (pkg install style)'
1212
required: false
13-
default: 'libcairo2-dev libpango1.0-dev ffmpeg libffi-dev'
13+
default: 'libcairo libpango ffmpeg libffi'
1414

1515
jobs:
1616
build_everything:
1717
runs-on: ubuntu-latest
18-
container:
18+
container:
1919
image: termux/termux-docker:aarch64
20+
# This is the secret sauce to stop the "not running" error ⬇️
21+
options: --tty
2022

2123
steps:
24+
- uses: actions/checkout@v4
25+
2226
- name: Sync Termux Environment
2327
run: |
24-
# Prepare the environment with all native tools
25-
pkg update -y
28+
# The container starts fresh, so we gotta wake it up
29+
yes | pkg upgrade -y
2630
pkg install python python-pip build-essential binutils ${{ github.event.inputs.system_deps }} -y
2731
pip install --upgrade pip wheel setuptools
2832
29-
- name: Build Main PKG and All Deps
33+
- name: Build All Dependencies as Wheels
3034
run: |
3135
mkdir -p ./build_output
32-
# This command is the 'Beast Mode'
33-
# --no-binary :all: ensures we don't accidentally grab a Glibc wheel
34-
# It forces a rebuild from source for EVERYTHING in the dependency tree
36+
# We force it to build from source so it's 100% Bionic/Termux compatible
37+
# This will recursively find every dep and turn it into a .whl
3538
pip wheel ${{ github.event.inputs.package_name }} \
3639
--wheel-dir ./build_output \
3740
--no-binary :all:
3841
42+
- name: Archive the Loot
43+
run: |
44+
# Using tar because it's usually pre-installed and faster
45+
tar -cvf ${{ github.event.inputs.package_name }}_bundle.tar ./build_output
46+
47+
- name: Upload Bundle
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: ${{ github.event.inputs.package_name }}-termux-bundle
51+
path: ./*.tar
52+
--no-binary :all:
53+
3954
- name: Package the Loot
4055
run: |
4156
# Zip everything together so you get one clean file

0 commit comments

Comments
 (0)