From 3835f744ff78d1ebc9f790c92ce40a96a0f4b1fd Mon Sep 17 00:00:00 2001 From: Rufo Sanchez Date: Fri, 7 Mar 2025 18:06:42 -0600 Subject: [PATCH] feat: Add arm64 builds --- .github/workflows/notes.md | 23 +++++++++++++++++++++++ .github/workflows/release.yml | 28 +++++++++++++++++++--------- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/.github/workflows/notes.md b/.github/workflows/notes.md index eceadba..488c2db 100644 --- a/.github/workflows/notes.md +++ b/.github/workflows/notes.md @@ -25,3 +25,26 @@ ${NVIM_VERSION} 1. Download **nvim-linux-x86_64.deb** 2. Install the package using `sudo apt install ./nvim-linux-x86_64.deb` 3. Run `nvim` + +### Linux (arm64) +#### AppImage + +1. Download **nvim-linux-arm64.appimage** +2. Run `chmod u+x nvim-linux-arm64.appimage && ./nvim-linux-arm64.appimage` + - If your system does not have FUSE you can [extract the appimage](https://github.com/AppImage/AppImageKit/wiki/FUSE#type-2-appimage): + ``` + ./nvim-linux-arm64.appimage --appimage-extract + ./squashfs-root/usr/bin/nvim + ``` + +#### Tarball + +1. Download **nvim-linux-arm64.tar.gz** +2. Extract: `tar xzvf nvim-linux-arm64.tar.gz` +3. Run `./nvim-linux-arm64/bin/nvim` + +4. #### Debian Package + +1. Download **nvim-linux-arm64.deb** +2. Install the package using `sudo apt install ./nvim-linux-x86_64.deb` +3. Run `nvim` diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9dcd93e..0ebbb3a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,17 @@ env: # Build with zig cc so we can target glibc 2.17, so we have broader compatibility jobs: linux: - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + runner: [ ubuntu-22.04, ubuntu-22.04-arm ] + include: + - runner: ubuntu-22.04 + arch: x86_64 + - runner: ubuntu-22.04-arm + arch: arm64 + + runs-on: ${{ matrix.runner }} outputs: version: ${{ steps.build.outputs.version }} env: @@ -79,18 +89,18 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: appimage + name: nvim-appimage-${{ matrix.arch }} path: | - build/bin/nvim-linux-x86_64.appimage - build/bin/nvim-linux-x86_64.appimage.zsync + build/bin/nvim-linux-${{ matrix.arch }}.appimage + build/bin/nvim-linux-${{ matrix.arch }}.appimage.zsync retention-days: 1 - uses: actions/upload-artifact@v4 with: - name: nvim-linux64 + name: nvim-linux-${{ matrix.arch }} path: | - build/nvim-linux-x86_64.tar.gz - build/nvim-linux-x86_64.deb + build/nvim-linux-${{ matrix.arch }}.tar.gz + build/nvim-linux-${{ matrix.arch }}.deb retention-days: 1 - name: Export version @@ -152,7 +162,7 @@ jobs: --notes-file "$RUNNER_TEMP/notes.md" \ --title "$SUBJECT" \ --target $GITHUB_SHA \ - nvim-linux64/* appimage/* + nvim-linux-x86_64/* nvim-linux-arm64/* nvim-appimage-x86_64/* nvim-appimage-arm64/* fi gh release delete $TAG_NAME --yes || true @@ -160,4 +170,4 @@ jobs: --notes-file "$RUNNER_TEMP/notes.md" \ --title "$SUBJECT" \ --target $GITHUB_SHA \ - nvim-linux64/* appimage/* + nvim-linux-x86_64/* nvim-linux-arm64/* nvim-appimage-x86_64/* nvim-appimage-arm64/*