Skip to content

Backport termux/termux-app PRs (2025-2026), add signing keystores, fix CI for self-hosted runner#1

Draft
Copilot wants to merge 8 commits intomasterfrom
copilot/implement-pull-requests
Draft

Backport termux/termux-app PRs (2025-2026), add signing keystores, fix CI for self-hosted runner#1
Copilot wants to merge 8 commits intomasterfrom
copilot/implement-pull-requests

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 10, 2026

Backports all legitimate open PRs from the upstream termux/termux-app repository (2025-2026 timeframe), adds organized signing infrastructure, and fixes CI workflows for the mp4 self-hosted runner.

Upstream PRs Implemented

Signing Infrastructure

  • Debug keystore (.github/signing/debug.jks, RSA-2048) and release keystore (.github/signing/release.jks, RSA-4096)
  • app/build.gradle signing configs for both build types; release passwords overridable via TERMUX_RELEASE_STORE_PASSWORD / TERMUX_RELEASE_KEY_PASSWORD env vars
  • New release_build.yml workflow

CI Fixes

  • All workflows → runs-on: mp4
  • Added android-actions/setup-android@v3 step to resolve ANDROID_HOME not found on self-hosted runner
  • Added apt-get install unzip step before setup-android in all workflows, since the mp4 self-hosted runner does not have unzip pre-installed (required by android-actions/setup-android@v3 to extract the Android commandline tools)
  • Added keystore verification steps

Key code change — TerminalRenderer multi-style support

// Before: single typeface, direct field access
mRenderer = new TerminalRenderer(textSize, typeface);
float w = mRenderer.mFontWidth;

// After: per-style typefaces with getter API
mRenderer = new TerminalRenderer(textSize);
mRenderer.setTypeface(Typeface.MONOSPACE, TypefaceStyle.NORMAL);
mRenderer.setTypeface(italicTypeface, TypefaceStyle.ITALIC);
float w = mRenderer.getFontWidth();

All 145 unit tests pass. No new CodeQL alerts (5 pre-existing missing-workflow-permissions inherited from upstream).


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 6 commits March 10, 2026 20:17
- PR termux#5007: Fix fullscreen mode on Android 11+ (hide navigation bar)
- PR termux#4940: Fix trailing whitespace padding when copying multi-line text
- PR termux#4931: Enable RTL support in AndroidManifest.xml
- PR termux#4994: Fix typos in README.md and use kbd formatting
- PR termux#4972: Add fallback editor in FileReceiverActivity
- Add debug and release keystores in .github/signing/
- Update build.gradle to use new keystores
- Add release_build.yml workflow
- Update existing workflows to verify signing keystores

Co-authored-by: EduardoC3677 <217669697+EduardoC3677@users.noreply.github.com>
…tu-22.04 self-hosted runner)

Co-authored-by: EduardoC3677 <217669697+EduardoC3677@users.noreply.github.com>
…iling whitespace trimming

Co-authored-by: EduardoC3677 <217669697+EduardoC3677@users.noreply.github.com>
…eword fastlane description

- Bump actions/upload-artifact from v6 to v7 in CI workflows (termux#4990)
- Use sentence case for non-terminal UI text (termux#4764)
- Reword fastlane full_description.txt (termux#4412)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… and fix workflow ANDROID_HOME

- PR termux#4813: Add separate italic, bold and boldItalic font file support
  - Refactor TerminalRenderer to support per-style typefaces with fallback
  - Add font-italic.ttf, font-bold.ttf, font-bold-italic.ttf constants
  - Update TerminalView to use getter methods instead of direct field access
  - Update checkForFontAndColors to load all font styles
- Fix workflows: Add android-actions/setup-android@v3 step for self-hosted runner

Co-authored-by: EduardoC3677 <217669697+EduardoC3677@users.noreply.github.com>
Co-authored-by: EduardoC3677 <217669697+EduardoC3677@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement pull requests from termux original repository Backport termux/termux-app PRs (2025-2026), add signing keystores, fix CI for self-hosted runner Mar 10, 2026
@EduardoC3677
Copy link
Copy Markdown

@copilot Run android-actions/setup-android@v3
Downloading commandline tools from https://dl.google.com/android/repository/commandlinetools-linux-12266719_latest.zip
/home/runner/work/_actions/android-actions/setup-android/v3/dist/index.js:3053
throw new Error(Unable to locate executable file: ${tool}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.);
^

Error: Unable to locate executable file: unzip. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
at Object. (/home/runner/work/_actions/android-actions/setup-android/v3/dist/index.js:3053:27)
at Generator.next ()
at fulfilled (/home/runner/work/_actions/android-actions/setup-android/v3/dist/index.js:2906:58)

Node.js v20.20.0

…d runner

The mp4 self-hosted runner does not have unzip pre-installed, which is
required by android-actions/setup-android@v3 to extract the Android
commandline tools. Add apt-get install unzip step to all 5 workflows.

Co-authored-by: EduardoC3677 <217669697+EduardoC3677@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Mar 10, 2026

@copilot Run android-actions/setup-android@v3
Downloading commandline tools from https://dl.google.com/android/repository/commandlinetools-linux-12266719_latest.zip
/home/runner/work...

Fixed in 9953e06. The self-hosted mp4 runner doesn't have unzip pre-installed, which android-actions/setup-android@v3 needs to extract the Android commandline tools. Added sudo apt-get install -y unzip step before setup-android in all 5 workflows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants