aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/backport.yml2
-rw-r--r--.github/workflows/ci.yml4
-rwxr-xr-x.github/workflows/env.sh2
-rw-r--r--.github/workflows/release.yml66
4 files changed, 51 insertions, 23 deletions
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index b5fd22d036..019fb20689 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -21,7 +21,7 @@ jobs:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Create backport PRs
- uses: zeebe-io/backport-action@v0.0.7
+ uses: zeebe-io/backport-action@v0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
github_workspace: ${{ github.workspace }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e22d99067a..992c59454b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,7 +9,7 @@ on:
- 'master'
- 'release-[0-9]+.[0-9]+'
paths-ignore:
- - 'runtime/doc/*'
+ - 'contrib/**'
# Cancel any in-progress CI runs for a PR if it is updated
concurrency:
@@ -97,7 +97,7 @@ jobs:
- if: "!cancelled()"
name: lintstylua
- uses: JohnnyMorganz/stylua-action@1.0.0
+ uses: JohnnyMorganz/stylua-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --check runtime/
diff --git a/.github/workflows/env.sh b/.github/workflows/env.sh
index 061588da1a..da70d358a9 100755
--- a/.github/workflows/env.sh
+++ b/.github/workflows/env.sh
@@ -57,7 +57,7 @@ EOF
functionaltest-lua)
BUILD_FLAGS="$BUILD_FLAGS -DPREFER_LUA=ON"
FUNCTIONALTEST=functionaltest-lua
- DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_TS_PARSERS=OFF"
+ DEPS_CMAKE_FLAGS="$DEPS_CMAKE_FLAGS -DUSE_BUNDLED_LUAJIT=OFF"
;;
*)
;;
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index d6933e9330..1444109eae 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -51,14 +51,28 @@ jobs:
appimage:
runs-on: ubuntu-20.04
+ container:
+ image: ubuntu:18.04
+ options: --privileged # Privileged mode is needed to load fuse module.
steps:
+ - name: Prepare container
+ run: |
+ apt-get update
+ apt-get install -y software-properties-common
+ add-apt-repository -y ppa:ubuntu-toolchain-r/test # For gcc-10.
+ add-apt-repository -y ppa:git-core/ppa # For git>=2.18.
+ apt-get update
+ apt-get install -y git gcc-10
+ apt-get install -y fuse libfuse2 # For linuxdeploy.
+ # Workaround for https://github.com/actions/checkout/issues/766.
+ git config --global --add safe.directory "$GITHUB_WORKSPACE"
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install dependencies
run: |
- sudo apt-get update
- sudo apt-get install -y autoconf automake build-essential cmake gettext libtool-bin locales ninja-build pkg-config unzip
+ apt-get update
+ apt-get install -y autoconf automake build-essential cmake gettext libtool-bin locales ninja-build pkg-config unzip
- if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly')
run: CC=gcc-10 make appimage-latest
- if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
@@ -113,6 +127,11 @@ jobs:
DEPS_CMAKE_FLAGS="$OSX_FLAGS"
make DESTDIR="$GITHUB_WORKSPACE/build/release/nvim-macos" install
cd "$GITHUB_WORKSPACE/build/"
+ # Make sure we build everything for M1 as well
+ for macho in bin/* lib/nvim/parser/*.so
+ do
+ lipo -info "$macho" | grep -q arm64 || exit 1
+ done
cpack -C "$NVIM_BUILD_TYPE"
- uses: actions/upload-artifact@v3
with:
@@ -126,12 +145,7 @@ jobs:
DEPS_BUILD_DIR: ${{ format('{0}/nvim-deps', github.workspace) }}
DEPS_PREFIX: ${{ format('{0}/nvim-deps/usr', github.workspace) }}
CMAKE_BUILD_TYPE: "RelWithDebInfo"
- strategy:
- matrix:
- include:
- - config: MSVC_64
- archive: nvim-win64
- name: windows (${{ matrix.config }})
+ name: windows (MSVC_64)
steps:
- uses: actions/checkout@v3
with:
@@ -142,10 +156,10 @@ jobs:
run: .\ci\build.ps1 -Package
- uses: actions/upload-artifact@v3
with:
- name: ${{ matrix.archive }}
+ name: nvim-win64
path: |
- build/${{ matrix.archive }}.msi
- build/${{ matrix.archive }}.zip
+ build/nvim-win64.msi
+ build/nvim-win64.zip
retention-days: 1
publish:
@@ -228,15 +242,29 @@ jobs:
gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/*
fi
publish-winget:
- needs: publish # run after publish job is finished
- # publish to winget only on stable releases
- if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly')
- runs-on: windows-latest # action can only be run on windows
+ needs: publish
+ runs-on: windows-latest
steps:
- - uses: vedantmgoyal2009/winget-releaser@latest
+ - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly')
+ name: Publish stable
+ uses: vedantmgoyal2009/winget-releaser@v1
with:
identifier: Neovim.Neovim
- # the latter one is a fallback value, reference:
- # https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
- release-tag: ${{ github.event.inputs.tag_name || github.ref }}
+ release-tag: ${{ github.event.inputs.tag_name || github.ref_name }}
+ token: ${{ secrets.WINGET_TOKEN }}
+ - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
+ name: Get nightly version
+ id: get-version
+ run: |
+ Invoke-WebRequest https://github.com/neovim/neovim/releases/download/nightly/nvim-win64.msi -OutFile setup.msi
+ Install-Module -Name 'Carbon.Windows.Installer' -Force
+ $VERSION = (Get-CMsi (Resolve-Path .\setup.msi).Path).ProductVersion
+ echo "::set-output name=version::$VERSION"
+ - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
+ name: Publish nightly
+ uses: vedantmgoyal2009/winget-releaser@v1
+ with:
+ identifier: Neovim.Neovim.Nightly
+ version: ${{ steps.get-version.outputs.version }}
+ release-tag: nightly
token: ${{ secrets.WINGET_TOKEN }}