AppImages/.github/workflows/appimage_maker.yml

60 lines
2 KiB
YAML

name: AppImage Maker
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
project:
- name: dolphin
repo: https://github.com/dolphin-emu/dolphin.git
cmake_args: "-DENABLE_SDL=ON"
steps:
- uses: actions/checkout@v4
- name: Set up build dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake make git wget patch
wget -O ../appimagetool https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x ../appimagetool
- name: Remove previous appimage directory
run: |
rm -rf appimages/${{ matrix.project.name }}
mkdir -p appimages/${{ matrix.project.name }}
- name: Run build script
run: |
chmod +x automation_tools/build_appimage.sh
# Collect any patch files from patches/<appname>/
PATCH_ARGS=""
for f in patches/${{ matrix.project.name }}/*.patch; do
if [ -f "$f" ]; then
PATCH_ARGS="$PATCH_ARGS $f"
fi
done
# Determine output file name with current date (YYYYMMDD)
DATE=$(date +%Y%m%d)
OUTPUT="appimages/${{ matrix.project.name }}/${{ matrix.project.name }}-${DATE}.AppImage"
echo "Building AppImage for ${{ matrix.project.name }}..."
echo "Repository: ${{ matrix.project.repo }}"
echo "Output: $OUTPUT"
echo "CMake Args: ${{ matrix.project.cmake_args }}"
echo "Patch files: $PATCH_ARGS"
automation_tools/build_appimage.sh "${{ matrix.project.repo }}" "${{ matrix.project.name }}" "$OUTPUT" "${{ matrix.project.cmake_args }}" $PATCH_ARGS
- name: Publish AppImage
if: success()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.project.name }}-AppImage
path: appimages/${{ matrix.project.name }}/*.AppImage