Merge pull request #474 from ggrtk/appimage

AppImage: Add zsync support
This commit is contained in:
Connor McLaughlin 2020-05-24 01:00:25 +10:00 committed by GitHub
commit d47d6950bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 10 deletions

View file

@ -67,12 +67,24 @@ jobs:
name: "linux-x64-appimage-sdl" name: "linux-x64-appimage-sdl"
path: "build/duckstation-sdl-x64.AppImage" path: "build/duckstation-sdl-x64.AppImage"
- name: Upload SDL AppImage zsync
uses: actions/upload-artifact@v1
with:
name: "linux-x64-appimage-sdl-zsync"
path: "build/duckstation-sdl-x64.AppImage.zsync"
- name: Upload Qt AppImage - name: Upload Qt AppImage
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v1
with: with:
name: "linux-x64-appimage-qt" name: "linux-x64-appimage-qt"
path: "build/duckstation-qt-x64.AppImage" path: "build/duckstation-qt-x64.AppImage"
- name: Upload Qt AppImage zsync
uses: actions/upload-artifact@v1
with:
name: "linux-x64-appimage-qt-zsync"
path: "build/duckstation-qt-x64.AppImage.zsync"
create-release: create-release:
needs: [windows-build, linux-build] needs: [windows-build, linux-build]
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
@ -87,11 +99,21 @@ jobs:
with: with:
name: "linux-x64-appimage-sdl" name: "linux-x64-appimage-sdl"
- name: Download SDL AppImage zsync Artifact
uses: actions/download-artifact@v1
with:
name: "linux-x64-appimage-sdl-zsync"
- name: Download Qt AppImage Artifact - name: Download Qt AppImage Artifact
uses: actions/download-artifact@v1 uses: actions/download-artifact@v1
with: with:
name: "linux-x64-appimage-qt" name: "linux-x64-appimage-qt"
- name: Download Qt AppImage zsync Artifact
uses: actions/download-artifact@v1
with:
name: "linux-x64-appimage-qt-zsync"
- name: Create release - name: Create release
uses: "marvinpinto/action-automatic-releases@latest" uses: "marvinpinto/action-automatic-releases@latest"
with: with:
@ -101,5 +123,6 @@ jobs:
files: | files: |
windows-x64/duckstation-windows-x64-release.7z windows-x64/duckstation-windows-x64-release.7z
linux-x64-appimage-sdl/duckstation-sdl-x64.AppImage linux-x64-appimage-sdl/duckstation-sdl-x64.AppImage
linux-x64-appimage-sdl-zsync/duckstation-sdl-x64.AppImage.zsync
linux-x64-appimage-qt/duckstation-qt-x64.AppImage linux-x64-appimage-qt/duckstation-qt-x64.AppImage
linux-x64-appimage-qt-zsync/duckstation-qt-x64.AppImage.zsync

View file

@ -48,27 +48,27 @@ for frontend in ${FRONTENDS[@]}; do
cp -av ${DATA_DIR}/* ${CURRENT_APPDIR}/usr/bin cp -av ${DATA_DIR}/* ${CURRENT_APPDIR}/usr/bin
done done
# Outputted file from linuxdeploy is named based on the .desktop file Name key; # Pass UPDATE_INFORMATION and OUTPUT variables (used by linuxdeploy-plugin-appimage)
# We rename it to something generic that buildbot or CI scripts can modify # to the environment of the linuxdeploy commands
# as they wish outside of this script, e.g. to distinguish between Release or
# Debug builds, since we don't have awareness of that inside this script
UPDATE_INFORMATION="zsync|https://github.com/stenzek/duckstation/releases/download/latest/duckstation-qt-x64.AppImage.zsync" \
OUTPUT="duckstation-qt-x64.AppImage" \
${BUILD_DIR}/linuxdeploy-x86_64.AppImage \ ${BUILD_DIR}/linuxdeploy-x86_64.AppImage \
--appdir=${BUILD_DIR}/AppDir-duckstation-qt \ --appdir=${BUILD_DIR}/AppDir-duckstation-qt \
--executable=${BUILD_DIR}/bin/duckstation-qt \ --executable=${BUILD_DIR}/bin/duckstation-qt \
--desktop-file=${APPIMAGE_RESOURCES_DIR}/duckstation-qt.desktop \ --desktop-file=${APPIMAGE_RESOURCES_DIR}/duckstation-qt.desktop \
${ICONS_QT[@]/#/--icon-file=} \ ${ICONS_QT[@]/#/--icon-file=} \
--plugin=qt \ --plugin=qt \
--output=appimage \ --output=appimage
&& mv DuckStation_Qt*.AppImage ${BUILD_DIR}/duckstation-qt-x64.AppImage
UPDATE_INFORMATION="zsync|https://github.com/stenzek/duckstation/releases/download/latest/duckstation-sdl-x64.AppImage.zsync" \
OUTPUT="duckstation-sdl-x64.AppImage" \
${BUILD_DIR}/linuxdeploy-x86_64.AppImage \ ${BUILD_DIR}/linuxdeploy-x86_64.AppImage \
--appdir=${BUILD_DIR}/AppDir-duckstation-sdl \ --appdir=${BUILD_DIR}/AppDir-duckstation-sdl \
--executable=${BUILD_DIR}/bin/duckstation-sdl \ --executable=${BUILD_DIR}/bin/duckstation-sdl \
--desktop-file=${APPIMAGE_RESOURCES_DIR}/duckstation-sdl.desktop \ --desktop-file=${APPIMAGE_RESOURCES_DIR}/duckstation-sdl.desktop \
${ICONS_SDL[@]/#/--icon-file=} \ ${ICONS_SDL[@]/#/--icon-file=} \
--output=appimage \ --output=appimage
&& mv DuckStation_SDL*.AppImage ${BUILD_DIR}/duckstation-sdl-x64.AppImage
# Resulting AppImages will be created in the directory this script is called from; # Resulting AppImages and zsync files will be created in the directory this script is called from;
# move them into the user's specified build directory # move them into the user's specified build directory