From f027c5e1e4638221bb9b761c0a4d19b2583a9105 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Fri, 13 Aug 2021 19:47:02 -0400 Subject: [PATCH 1/2] build: update appdata.xml version in release commit Adding the version we just released in the "version bump" commit is useless, since that means the actual release only reports the old version. Closes #15362 [skip ci] --- scripts/release.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/scripts/release.sh b/scripts/release.sh index 4d1484b77a..4ec959d697 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -12,6 +12,7 @@ # - CMakeLists.txt: Unset NVIM_VERSION_PRERELEASE # - CMakeLists.txt: Unset NVIM_API_PRERELEASE # - Create test/functional/fixtures/api_level_N.mpack +# - Add date and version to runtime/nvim.appdata.xml # - Tag the commit. # Create the "version bump" commit: # - CMakeLists.txt: Set NVIM_VERSION_PRERELEASE to "-dev" @@ -62,6 +63,10 @@ _do_release_commit() { git add test/functional/fixtures/api_level_$__API_LEVEL.mpack fi + $__sed -i.bk 's,(),\1\ + ,' runtime/nvim.appdata.xml + git add runtime/nvim.appdata.xml + if ! test "$ARG1" = '--use-current-commit' ; then echo "Building changelog since ${__LAST_TAG}..." @@ -75,14 +80,12 @@ _do_release_commit() { _do_bump_commit() { $__sed -i.bk 's/(NVIM_VERSION_PRERELEASE) ""/\1 "-dev"/' CMakeLists.txt $__sed -i.bk 's/set\((NVIM_VERSION_PATCH) [[:digit:]]/set(\1 ?/' CMakeLists.txt - $__sed -i.bk 's,(),\1\ - ,' runtime/nvim.appdata.xml rm CMakeLists.txt.bk rm runtime/nvim.appdata.xml.bk nvim +'/NVIM_VERSION' +1new +'exe "norm! iUpdate version numbers!!!"' \ - -O CMakeLists.txt runtime/nvim.appdata.xml + -O CMakeLists.txt - git add CMakeLists.txt runtime/nvim.appdata.xml + git add CMakeLists.txt git commit -m "$__BUMP_MSG" } @@ -92,11 +95,7 @@ fi _do_bump_commit echo " Next steps: - - Update runtime/nvim.appdata.xml on _master_ - Run tests/CI (version_spec.lua)! - Push the tag: git push --follow-tags - - Update the 'stable' tag: - git push --force upstream HEAD^:refs/tags/stable - git fetch --tags - Update website: index.html" From 6f965f41dfd6b1927a23b2afa188fbcb88e8b2f3 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Fri, 13 Aug 2021 20:08:46 -0400 Subject: [PATCH 2/2] build: use RelWithDebInfo build for nightlies, Release for releases Unlike Release build type, RelWithDebInfo does not disable asserts. This helps get better debug info from people brave enough to use the nightly builds, but shouldn't be used for official releases. [skip ci] --- .github/workflows/release.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff7562bf20..c6d3eaf42b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,10 +28,14 @@ jobs: run: | sudo apt-get update sudo apt-get install -y autoconf automake build-essential cmake gcc-11 gettext gperf 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: printf 'NVIM_BUILD_TYPE=Release\n' >> $GITHUB_ENV + - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') + run: printf 'NVIM_BUILD_TYPE=RelWithDebInfo\n' >> $GITHUB_ENV - name: Build release id: build run: | - CC=gcc-11 make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH=" + CC=gcc-11 make CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH=" printf '::set-output name=version::%s\n' "$(./build/bin/nvim --version | head -n 3 | sed -z 's/\n/%0A/g')" printf '::set-output name=release::%s\n' "$(./build/bin/nvim --version | head -n 1)" make DESTDIR="$GITHUB_WORKSPACE/build/release/nvim-linux64" install @@ -80,9 +84,13 @@ jobs: brew update >/dev/null brew upgrade brew install automake ninja + - if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name != 'nightly') + run: printf 'NVIM_BUILD_TYPE=Release\n' >> $GITHUB_ENV + - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') + run: printf 'NVIM_BUILD_TYPE=RelWithDebInfo\n' >> $GITHUB_ENV - name: Build release run: | - make CMAKE_BUILD_TYPE=Release CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11" + make CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11" make DESTDIR="$GITHUB_WORKSPACE/build/release/nvim-osx64" install - name: Create package run: |