ci(release)!: remove backwards compatible releases

Remove `nvim-linux64.tar.gz` and `nvim.appimage` as maintaining
these is too much work.

Also fix directory names to be consistent.
This commit is contained in:
dundargoc
2025-01-27 17:40:26 +01:00
committed by dundargoc
parent c47496791a
commit 318676ad13
4 changed files with 20 additions and 32 deletions

View File

@ -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 ./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 #### Tarball
1. Download **nvim-linux-x86_64.tar.gz** 1. Download **nvim-linux-x86_64.tar.gz**
2. Extract: `tar xzvf nvim-linux-x86_64.tar.gz` 2. Extract: `tar xzvf nvim-linux-x86_64.tar.gz`
3. Run `./nvim-linux-x86_64/bin/nvim` 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) ### Linux (arm64)
#### AppImage #### AppImage

View File

@ -49,7 +49,7 @@ jobs:
arch: x86_64 arch: x86_64
cc: gcc-10 cc: gcc-10
- runner: ubuntu-24.04-arm - runner: ubuntu-24.04-arm
arch: aarch64 arch: arm64
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.runner }}
env: env:
CC: ${{ matrix.cc }} CC: ${{ matrix.cc }}
@ -63,7 +63,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- run: ./.github/scripts/install_deps.sh - run: ./.github/scripts/install_deps.sh
- run: echo "CMAKE_BUILD_TYPE=${{ needs.setup.outputs.build_type }}" >> $GITHUB_ENV - 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 run: sudo apt-get update && sudo apt-get install -y libfuse2t64
- name: appimage - name: appimage
run: | run: |
@ -196,13 +196,6 @@ jobs:
echo 'PRERELEASE=') >> $GITHUB_ENV echo 'PRERELEASE=') >> $GITHUB_ENV
gh release delete stable --yes || true gh release delete stable --yes || true
git push origin :stable || 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 # `sha256sum` outputs <sha> <path>, so we cd into each dir to drop the
# containing folder from the output. # containing folder from the output.
- name: Generate Linux x86_64 SHA256 checksums - 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 echo "SHA_LINUX_X86_64_TAR=$(cat nvim-linux-x86_64.tar.gz.sha256sum)" >> $GITHUB_ENV
- name: Generate Linux arm64 SHA256 checksums - name: Generate Linux arm64 SHA256 checksums
run: | run: |
cd ./nvim-linux-aarch64 cd ./nvim-linux-arm64
sha256sum nvim-linux-arm64.tar.gz > nvim-linux-arm64.tar.gz.sha256sum 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 echo "SHA_LINUX_ARM64_TAR=$(cat nvim-linux-arm64.tar.gz.sha256sum)" >> $GITHUB_ENV
- name: Generate AppImage x64_64 SHA256 checksums - 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 echo "SHA_APPIMAGE_X86_64_ZSYNC=$(cat nvim-linux-x86_64.appimage.zsync.sha256sum)" >> $GITHUB_ENV
- name: Generate AppImage x64_64 SHA256 checksums - name: Generate AppImage x64_64 SHA256 checksums
run: | run: |
cd ./appimage-aarch64 cd ./appimage-arm64
sha256sum nvim-linux-arm64.appimage > nvim-linux-arm64.appimage.sha256sum sha256sum nvim-linux-arm64.appimage > nvim-linux-arm64.appimage.sha256sum
echo "SHA_APPIMAGE_ARM64=$(cat nvim-linux-arm64.appimage.sha256sum)" >> $GITHUB_ENV echo "SHA_APPIMAGE_ARM64=$(cat nvim-linux-arm64.appimage.sha256sum)" >> $GITHUB_ENV
- name: Generate AppImage arm64 Zsync SHA256 checksums - name: Generate AppImage arm64 Zsync SHA256 checksums
run: | run: |
cd ./appimage-aarch64 cd ./appimage-arm64
sha256sum nvim-linux-arm64.appimage.zsync > nvim-linux-arm64.appimage.zsync.sha256sum 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 echo "SHA_APPIMAGE_ARM64_ZSYNC=$(cat nvim-linux-arm64.appimage.zsync.sha256sum)" >> $GITHUB_ENV
- name: Generate macos x86_64 SHA256 checksums - name: Generate macos x86_64 SHA256 checksums
@ -252,16 +245,6 @@ jobs:
echo "SHA_WIN_64_ZIP=$(cat nvim-win64.zip.sha256sum)" >> $GITHUB_ENV echo "SHA_WIN_64_ZIP=$(cat nvim-win64.zip.sha256sum)" >> $GITHUB_ENV
sha256sum nvim-win64.msi > nvim-win64.msi.sha256sum sha256sum nvim-win64.msi > nvim-win64.msi.sha256sum
echo "SHA_WIN_64_MSI=$(cat nvim-win64.msi.sha256sum)" >> $GITHUB_ENV 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 - name: Publish release
env: env:
NVIM_VERSION: ${{ needs.linux.outputs.version }} NVIM_VERSION: ${{ needs.linux.outputs.version }}
@ -269,6 +252,6 @@ jobs:
run: | run: |
envsubst < "$GITHUB_WORKSPACE/.github/workflows/notes.md" > "$RUNNER_TEMP/notes.md" envsubst < "$GITHUB_WORKSPACE/.github/workflows/notes.md" > "$RUNNER_TEMP/notes.md"
if [ "$TAG_NAME" != "nightly" ]; then 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 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/*

View File

@ -1,3 +1,7 @@
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
set(CMAKE_SYSTEM_PROCESSOR arm64)
endif()
set(CPACK_PACKAGE_NAME "Neovim") set(CPACK_PACKAGE_NAME "Neovim")
set(CPACK_PACKAGE_VENDOR "neovim.io") set(CPACK_PACKAGE_VENDOR "neovim.io")
set(CPACK_PACKAGE_FILE_NAME "nvim") set(CPACK_PACKAGE_FILE_NAME "nvim")

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -e
######################################################################## ########################################################################
# Package the binaries built as an AppImage # Package the binaries built as an AppImage
@ -11,6 +11,7 @@ if [ -z "$ARCH" ]; then
ARCH="$(arch)" ARCH="$(arch)"
export ARCH export ARCH
fi fi
ARCH_ORIGINAL=$ARCH
TAG=$1 TAG=$1
@ -75,6 +76,12 @@ chmod 755 AppRun
cd "$APP_BUILD_DIR" || exit # Get out of AppImage directory. 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 # Set the name of the file generated by appimage
export OUTPUT=nvim-linux-"$ARCH".appimage export OUTPUT=nvim-linux-"$ARCH".appimage
@ -87,7 +94,7 @@ fi
# - Expects: $ARCH, $APP, $VERSION env vars # - Expects: $ARCH, $APP, $VERSION env vars
# - Expects: ./$APP.AppDir/ directory # - Expects: ./$APP.AppDir/ directory
# - Produces: ./nvim-linux-$ARCH.appimage # - 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 "$ROOT_DIR/runtime/nvim.png" --output appimage
# Moving the final executable to a different folder so it isn't in the # Moving the final executable to a different folder so it isn't in the