diff options
-rw-r--r-- | .github/workflows/notes.md | 6 | ||||
-rw-r--r-- | .github/workflows/release.yml | 31 | ||||
-rw-r--r-- | cmake.packaging/CMakeLists.txt | 4 | ||||
-rwxr-xr-x | scripts/genappimage.sh | 11 |
4 files changed, 20 insertions, 32 deletions
diff --git a/.github/workflows/notes.md b/.github/workflows/notes.md index ed792f8d85..fe2317d483 100644 --- a/.github/workflows/notes.md +++ b/.github/workflows/notes.md @@ -48,18 +48,12 @@ glibc 2.31 or newer is required. Or you may try the (unsupported) [builds for ol ./squashfs-root/usr/bin/nvim ``` -> [!NOTE] -> This appimage is also published as `nvim.appimage` for backward compatibility, but scripts should be updated to use the new name. - #### Tarball 1. Download **nvim-linux-x86_64.tar.gz** 2. Extract: `tar xzvf nvim-linux-x86_64.tar.gz` 3. Run `./nvim-linux-x86_64/bin/nvim` -> [!NOTE] -> This tarball is also published as `nvim-linux64.tar.gz` for backward compatibility, but scripts should be updated to use the new name. - ### Linux (arm64) #### AppImage diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2062d58103..0c9cf4b142 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,7 @@ jobs: arch: x86_64 cc: gcc-10 - runner: ubuntu-24.04-arm - arch: aarch64 + arch: arm64 runs-on: ${{ matrix.runner }} env: CC: ${{ matrix.cc }} @@ -63,7 +63,7 @@ jobs: fetch-depth: 0 - run: ./.github/scripts/install_deps.sh - run: echo "CMAKE_BUILD_TYPE=${{ needs.setup.outputs.build_type }}" >> $GITHUB_ENV - - if: matrix.arch == 'aarch64' + - if: matrix.arch == 'arm64' run: sudo apt-get update && sudo apt-get install -y libfuse2t64 - name: appimage run: | @@ -196,13 +196,6 @@ jobs: echo 'PRERELEASE=') >> $GITHUB_ENV gh release delete stable --yes || true git push origin :stable || true - - name: Rename aarch64 artifacts - run: | - cd ./nvim-linux-aarch64 - mv nvim-linux-aarch64.tar.gz nvim-linux-arm64.tar.gz - cd ../appimage-aarch64 - mv nvim-linux-aarch64.appimage nvim-linux-arm64.appimage - mv nvim-linux-aarch64.appimage.zsync nvim-linux-arm64.appimage.zsync # `sha256sum` outputs <sha> <path>, so we cd into each dir to drop the # containing folder from the output. - name: Generate Linux x86_64 SHA256 checksums @@ -212,7 +205,7 @@ jobs: echo "SHA_LINUX_X86_64_TAR=$(cat nvim-linux-x86_64.tar.gz.sha256sum)" >> $GITHUB_ENV - name: Generate Linux arm64 SHA256 checksums run: | - cd ./nvim-linux-aarch64 + cd ./nvim-linux-arm64 sha256sum nvim-linux-arm64.tar.gz > nvim-linux-arm64.tar.gz.sha256sum echo "SHA_LINUX_ARM64_TAR=$(cat nvim-linux-arm64.tar.gz.sha256sum)" >> $GITHUB_ENV - name: Generate AppImage x64_64 SHA256 checksums @@ -227,12 +220,12 @@ jobs: echo "SHA_APPIMAGE_X86_64_ZSYNC=$(cat nvim-linux-x86_64.appimage.zsync.sha256sum)" >> $GITHUB_ENV - name: Generate AppImage x64_64 SHA256 checksums run: | - cd ./appimage-aarch64 + cd ./appimage-arm64 sha256sum nvim-linux-arm64.appimage > nvim-linux-arm64.appimage.sha256sum echo "SHA_APPIMAGE_ARM64=$(cat nvim-linux-arm64.appimage.sha256sum)" >> $GITHUB_ENV - name: Generate AppImage arm64 Zsync SHA256 checksums run: | - cd ./appimage-aarch64 + cd ./appimage-arm64 sha256sum nvim-linux-arm64.appimage.zsync > nvim-linux-arm64.appimage.zsync.sha256sum echo "SHA_APPIMAGE_ARM64_ZSYNC=$(cat nvim-linux-arm64.appimage.zsync.sha256sum)" >> $GITHUB_ENV - name: Generate macos x86_64 SHA256 checksums @@ -252,16 +245,6 @@ jobs: echo "SHA_WIN_64_ZIP=$(cat nvim-win64.zip.sha256sum)" >> $GITHUB_ENV sha256sum nvim-win64.msi > nvim-win64.msi.sha256sum echo "SHA_WIN_64_MSI=$(cat nvim-win64.msi.sha256sum)" >> $GITHUB_ENV - - name: Create linux64 aliases # For backward compatibility; remove for 0.12 - run: | - cd ./nvim-linux-x86_64 - cp nvim-linux-x86_64.tar.gz nvim-linux64.tar.gz - cp nvim-linux-x86_64.tar.gz.sha256sum nvim-linux64.tar.gz.sha256sum - cd ../appimage-x86_64 - cp nvim-linux-x86_64.appimage nvim.appimage - cp nvim-linux-x86_64.appimage.sha256sum nvim.appimage.sha256sum - cp nvim-linux-x86_64.appimage.zsync nvim.appimage.zsync - cp nvim-linux-x86_64.appimage.zsync.sha256sum nvim.appimage.zsync.sha256sum - name: Publish release env: NVIM_VERSION: ${{ needs.linux.outputs.version }} @@ -269,6 +252,6 @@ jobs: run: | envsubst < "$GITHUB_WORKSPACE/.github/workflows/notes.md" > "$RUNNER_TEMP/notes.md" if [ "$TAG_NAME" != "nightly" ]; then - gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos-x86_64/* nvim-macos-arm64/* nvim-linux-x86_64/* nvim-linux-aarch64/* appimage-x86_64/* appimage-aarch64/* nvim-win64/* + gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos-x86_64/* nvim-macos-arm64/* nvim-linux-x86_64/* nvim-linux-arm64/* appimage-x86_64/* appimage-arm64/* nvim-win64/* fi - gh release create $TAG_NAME $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos-x86_64/* nvim-macos-arm64/* nvim-linux-x86_64/* nvim-linux-aarch64/* appimage-x86_64/* appimage-aarch64/* nvim-win64/* + gh release create $TAG_NAME $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos-x86_64/* nvim-macos-arm64/* nvim-linux-x86_64/* nvim-linux-arm64/* appimage-x86_64/* appimage-arm64/* nvim-win64/* diff --git a/cmake.packaging/CMakeLists.txt b/cmake.packaging/CMakeLists.txt index 54b6285954..dc611e9560 100644 --- a/cmake.packaging/CMakeLists.txt +++ b/cmake.packaging/CMakeLists.txt @@ -1,3 +1,7 @@ +if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + set(CMAKE_SYSTEM_PROCESSOR arm64) +endif() + set(CPACK_PACKAGE_NAME "Neovim") set(CPACK_PACKAGE_VENDOR "neovim.io") set(CPACK_PACKAGE_FILE_NAME "nvim") diff --git a/scripts/genappimage.sh b/scripts/genappimage.sh index 63cda6d6ec..e683a9dcd1 100755 --- a/scripts/genappimage.sh +++ b/scripts/genappimage.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -e ######################################################################## # Package the binaries built as an AppImage @@ -11,6 +11,7 @@ if [ -z "$ARCH" ]; then ARCH="$(arch)" export ARCH fi +ARCH_ORIGINAL=$ARCH TAG=$1 @@ -75,6 +76,12 @@ chmod 755 AppRun cd "$APP_BUILD_DIR" || exit # Get out of AppImage directory. +# We want to be consistent, so always use arm64 over aarch64 +if [[ "$ARCH" == 'aarch64' ]]; then + ARCH="arm64" + export ARCH +fi + # Set the name of the file generated by appimage export OUTPUT=nvim-linux-"$ARCH".appimage @@ -87,7 +94,7 @@ fi # - Expects: $ARCH, $APP, $VERSION env vars # - Expects: ./$APP.AppDir/ directory # - Produces: ./nvim-linux-$ARCH.appimage -./linuxdeploy-"$ARCH".AppImage --appdir $APP.AppDir -d "$ROOT_DIR"/runtime/nvim.desktop -i \ +./linuxdeploy-"$ARCH_ORIGINAL".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 |