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// 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