aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorglacambre <code@lacamb.re>2021-06-13 09:21:29 +0200
committerglacambre <code@lacamb.re>2021-06-16 17:54:14 +0200
commit04ad196b4ec79fd6d69f8eb328ca82e0157fb7ff (patch)
treed484a3a8018a5dab3031e2d0a6292e03c74a4099
parentf76f72a27bb0c60c9e60a5bba30d94fd5541595a (diff)
downloadrneovim-04ad196b4ec79fd6d69f8eb328ca82e0157fb7ff.tar.gz
rneovim-04ad196b4ec79fd6d69f8eb328ca82e0157fb7ff.tar.bz2
rneovim-04ad196b4ec79fd6d69f8eb328ca82e0157fb7ff.zip
ci: upgrade to gcc-11 on ubuntu-18.04
In https://github.com/neovim/neovim/issues/14150 , investigations showed that using an older gcc to build the appimage could result in severe perf issues. This is because older gcc versions happily replace calls to libc functions with their own, which happen to be less optimized than their libc counterparts. We fix this problem by upgrading to gcc-11 on ubuntu-18.04.
-rw-r--r--.github/workflows/release.yml11
1 files changed, 6 insertions, 5 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 8c2333e68d..def934c597 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -13,6 +13,7 @@ on:
- v[0-9]+.[0-9]+.[0-9]+
# Build on the oldest supported images, so we have broader compatibility
+# Upgrade to gcc-11 to prevent it from using its builtins (#14150)
jobs:
linux:
runs-on: ubuntu-18.04
@@ -26,11 +27,11 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
- sudo apt-get install -y autoconf automake build-essential cmake gettext gperf libtool-bin locales ninja-build pkg-config unzip
+ sudo apt-get install -y autoconf automake build-essential cmake gcc-11 gettext gperf libtool-bin locales ninja-build pkg-config unzip
- name: Build release
id: build
run: |
- make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX:PATH="
+ CC=gcc-11 make CMAKE_BUILD_TYPE=RelWithDebInfo 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
@@ -51,11 +52,11 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
- sudo apt-get install -y autoconf automake build-essential cmake gettext gperf libtool-bin locales ninja-build pkg-config unzip
+ 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: make appimage-latest
+ run: CC=gcc-11 make appimage-latest
- if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly')
- run: make appimage-nightly
+ run: CC=gcc-11 make appimage-nightly
- uses: actions/upload-artifact@v2
with:
name: appimage