ci(release): add linux-arm64 appimage and tarball

Problem: No releases for ARM Linux.

Solution: Provide appimages and tarballs for `linux-arm64`. Rename
x86 releases to `linux-x86_64` for consistency.
This commit is contained in:
Christian Clason
2025-01-24 17:17:12 +01:00
committed by Christian Clason
parent eb60cd74fb
commit c1718d6863
7 changed files with 134 additions and 63 deletions

View File

@ -40,16 +40,16 @@ export VERSION
cd "$APP_BUILD_DIR" || exit
# Only downloads linuxdeploy if the remote file is different from local
if [ -e "$APP_BUILD_DIR"/linuxdeploy-x86_64.AppImage ]; then
curl -Lo "$APP_BUILD_DIR"/linuxdeploy-x86_64.AppImage \
-z "$APP_BUILD_DIR"/linuxdeploy-x86_64.AppImage \
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
if [ -e "$APP_BUILD_DIR"/linuxdeploy-"$ARCH".AppImage ]; then
curl -Lo "$APP_BUILD_DIR"/linuxdeploy-"$ARCH".AppImage \
-z "$APP_BUILD_DIR"/linuxdeploy-"$ARCH".AppImage \
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-"$ARCH".AppImage
else
curl -Lo "$APP_BUILD_DIR"/linuxdeploy-x86_64.AppImage \
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
curl -Lo "$APP_BUILD_DIR"/linuxdeploy-"$ARCH".AppImage \
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-"$ARCH".AppImage
fi
chmod +x "$APP_BUILD_DIR"/linuxdeploy-x86_64.AppImage
chmod +x "$APP_BUILD_DIR"/linuxdeploy-"$ARCH".AppImage
# metainfo is not packaged automatically by linuxdeploy
mkdir -p "$APP_DIR/usr/share/metainfo/"
@ -76,23 +76,23 @@ chmod 755 AppRun
cd "$APP_BUILD_DIR" || exit # Get out of AppImage directory.
# Set the name of the file generated by appimage
export OUTPUT=nvim.appimage
export OUTPUT=nvim-linux-"$ARCH".appimage
# If it's a release generate the zsync file
if [ -n "$TAG" ]; then
export UPDATE_INFORMATION="gh-releases-zsync|neovim|neovim|$TAG|nvim.appimage.zsync"
export UPDATE_INFORMATION="gh-releases-zsync|neovim|neovim|$TAG|nvim-linux-$ARCH.appimage.zsync"
fi
# Generate AppImage.
# - Expects: $ARCH, $APP, $VERSION env vars
# - Expects: ./$APP.AppDir/ directory
# - Produces: ./nvim.appimage
./linuxdeploy-x86_64.AppImage --appdir $APP.AppDir -d "$ROOT_DIR"/runtime/nvim.desktop -i \
# - Produces: ./nvim-linux-$ARCH.appimage
./linuxdeploy-"$ARCH".AppImage --appdir $APP.AppDir -d "$ROOT_DIR"/runtime/nvim.desktop -i \
"$ROOT_DIR/runtime/nvim.png" --output appimage
# Moving the final executable to a different folder so it isn't in the
# way for a subsequent build.
mv "$ROOT_DIR"/build/nvim.appimage* "$ROOT_DIR"/build/bin
mv "$ROOT_DIR"/build/nvim-linux-"$ARCH".appimage* "$ROOT_DIR"/build/bin
echo 'genappimage.sh: finished'