[PR #1879] [MERGED] [FEATURE] Add AppImage build variants and CI workflow (#1348) #2662

Open
opened 2026-01-29 17:23:19 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/CCExtractor/ccextractor/pull/1879
Author: @cfsmp3
Created: 12/21/2025
Status: Merged
Merged: 12/22/2025
Merged by: @cfsmp3

Base: masterHead: feat/appimage-variants-and-ci


📝 Commits (3)

  • 8c0fe08 feat: Add AppImage build variants and CI workflow (#1348)
  • ec11b00 fix(ci): Use correct Rust toolchain action name
  • b88d1eb fix(ci): Fix AppImage build failures for OCR and HardSubX variants

📊 Changes

2 files changed (+374 additions, -50 deletions)

View changed files

.github/workflows/build_appimage.yml (+157 -0)
📝 linux/build_appimage.sh (+217 -50)

📄 Description

Summary

Rewrites the AppImage build script and adds a CI workflow to automatically build AppImages on releases.

Build Variants (matching Docker)

  • minimal: Basic CCExtractor without OCR (smallest size, ~14MB)
  • ocr: CCExtractor with OCR support (default)
  • hardsubx: CCExtractor with burned-in subtitle extraction (OCR + FFmpeg)

Changes to linux/build_appimage.sh

  • Add BUILD_TYPE environment variable to select variant
  • Fix CMake options (was incorrectly passing ENABLE_OCR=yes to make instead of -DWITH_OCR=ON to cmake)
  • Bundle tessdata for OCR builds with wrapper script that sets TESSDATA_PREFIX
  • Create proper desktop file and icon handling
  • Improve error handling and cleanup

New CI Workflow .github/workflows/build_appimage.yml

  • Builds all three variants on release
  • Uploads AppImages as release assets automatically
  • Can be manually triggered for specific variants
  • Caches GPAC build for faster CI runs

Usage

./build_appimage.sh              # Builds 'ocr' variant (default)
BUILD_TYPE=minimal ./build_appimage.sh
BUILD_TYPE=hardsubx ./build_appimage.sh

Testing

Tested locally - minimal variant builds successfully and runs:

$ ./ccextractor-minimal-x86_64.AppImage --version
CCExtractor detailed version info
    Version: 0.95
    ...

Closes #1348

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/CCExtractor/ccextractor/pull/1879 **Author:** [@cfsmp3](https://github.com/cfsmp3) **Created:** 12/21/2025 **Status:** ✅ Merged **Merged:** 12/22/2025 **Merged by:** [@cfsmp3](https://github.com/cfsmp3) **Base:** `master` ← **Head:** `feat/appimage-variants-and-ci` --- ### 📝 Commits (3) - [`8c0fe08`](https://github.com/CCExtractor/ccextractor/commit/8c0fe087816006923fe4443ffb46dbf54dfb8a6c) feat: Add AppImage build variants and CI workflow (#1348) - [`ec11b00`](https://github.com/CCExtractor/ccextractor/commit/ec11b00f9fdb0b0b2bc44f690f01dcedce7856c4) fix(ci): Use correct Rust toolchain action name - [`b88d1eb`](https://github.com/CCExtractor/ccextractor/commit/b88d1ebab2fc9b0578d1317391860f0d07c0abfc) fix(ci): Fix AppImage build failures for OCR and HardSubX variants ### 📊 Changes **2 files changed** (+374 additions, -50 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/build_appimage.yml` (+157 -0) 📝 `linux/build_appimage.sh` (+217 -50) </details> ### 📄 Description ## Summary Rewrites the AppImage build script and adds a CI workflow to automatically build AppImages on releases. ### Build Variants (matching Docker) - **minimal**: Basic CCExtractor without OCR (smallest size, ~14MB) - **ocr**: CCExtractor with OCR support (default) - **hardsubx**: CCExtractor with burned-in subtitle extraction (OCR + FFmpeg) ### Changes to `linux/build_appimage.sh` - Add `BUILD_TYPE` environment variable to select variant - Fix CMake options (was incorrectly passing `ENABLE_OCR=yes` to make instead of `-DWITH_OCR=ON` to cmake) - Bundle tessdata for OCR builds with wrapper script that sets `TESSDATA_PREFIX` - Create proper desktop file and icon handling - Improve error handling and cleanup ### New CI Workflow `.github/workflows/build_appimage.yml` - Builds all three variants on release - Uploads AppImages as release assets automatically - Can be manually triggered for specific variants - Caches GPAC build for faster CI runs ## Usage ```bash ./build_appimage.sh # Builds 'ocr' variant (default) BUILD_TYPE=minimal ./build_appimage.sh BUILD_TYPE=hardsubx ./build_appimage.sh ``` ## Testing Tested locally - minimal variant builds successfully and runs: ``` $ ./ccextractor-minimal-x86_64.AppImage --version CCExtractor detailed version info Version: 0.95 ... ``` Closes #1348 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 17:23:19 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ccextractor#2662