initial commit

This commit is contained in:
Alex Xu
2026-09-22 17:45:07 -07:00
parent bed9382aab
commit fed16a3f16
2 changed files with 62 additions and 24 deletions
+55 -24
View File
@@ -22,47 +22,78 @@ on:
- '.dockerignore'
jobs:
build:
runs-on: ubuntu-22.04
build-appimage:
name: Build AppImage (${{ matrix.arch }})
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
include:
- runs-on: ubuntu-latest
arch: x86_64
- runs-on: ubuntu-24.04-arm
arch: aarch64
container: ghcr.io/pkgforge-dev/archlinux:latest
steps:
- uses: actions/checkout@v7
- name: Prepare container
uses: pkgforge-dev/anylinux-setup-action@v2
- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: 3.11
cache: 'pip'
- name: Install python dependencies
run: |
sudo apt-get update
sudo apt-get install -y libpng-dev libjpeg-dev p7zip-full p7zip-rar python3-pip squashfs-tools libfuse2 libxcb-cursor0
python -m pip install --upgrade pip certifi pyinstaller --no-binary pyinstaller
sudo apt-get install -y libpng-dev libjpeg-dev p7zip-full p7zip-rar python3-pip squashfs-tools libxcb-cursor0
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- name: build binary
- name: Install kcc
run: |
python setup.py build_binary
chmod +x dist/kcc_linux*
# issue with this action, disabled and commented out
# see https://github.com/AppImageCrafters/build-appimage/issues/5
# see https://appimage-builder.readthedocs.io/en/latest/intro/install.html#install-appimagetool
# - name: Build AppImage
# uses: AppImageCrafters/build-appimage-action@master
# env:
# UPDATE_INFO: gh-releases-zsync|ciromattia|kcc|latest|*x86_64.AppImage.zsync
# with:
# recipe: AppImageBuilder.yml
python -m pip install --break-system-packages .
- name: Determine version
id: version
run: |
if [[ "${{ github.event_name }}" == "release" ]]; then
echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
else
echo "version=dev-${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
fi
- name: Build AppImage
env:
ARCH: ${{ matrix.arch }}
ICON: ${{ github.workspace }}/icons/comic2ebook.png
DESKTOP: ${{ github.workspace }}/packaging/appimage/kcc.desktop
DEPLOY_PYTHON: 1
OUTPATH: ${{ github.workspace }}/dist
OUTNAME: kcc-${{ steps.version.outputs.version }}-${{ matrix.arch }}.AppImage
run: |
wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage
chmod +x appimage-builder-x86_64.AppImage
sudo mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder
appimage-builder --recipe AppImageBuilder.yml --skip-test
mkdir -p dist
quick-sharun "$(which cli-chess)"
quick-sharun --make-appimage
- name: Test AppImage
run: |
quick-sharun --simple-test ./dist/*.AppImage
env:
UPDATE_INFO: gh-releases-zsync|ciromattia|kcc|latest|*x86_64.AppImage.zsync
- name: upload artifact
uses: actions/upload-artifact@v7
with:
name: AppImage
path: './*.AppImage*'
name: kcc-${{ steps.version.outputs.version }}-${{ matrix.arch }}
path: |
dist/*.AppImage
dist/*.AppImage.zsync
- name: Release
uses: softprops/action-gh-release@v3
if: startsWith(github.ref, 'refs/tags/')
@@ -70,5 +101,5 @@ jobs:
prerelease: true
generate_release_notes: false
files: |
LICENSE.txt
*.AppImage*
dist/*.AppImage
dist/*.AppImage.zsync
+7
View File
@@ -0,0 +1,7 @@
[Desktop Entry]
Name=kcc
Comment=Optimize comics/manga for eink
Exec=kcc
Icon=comic2ebook
Type=Application
Terminal=false