diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/backport.yml | 2 | ||||
| -rw-r--r-- | .github/workflows/ci.yml | 4 | ||||
| -rwxr-xr-x | .github/workflows/env.sh | 2 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 66 |
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 }} |