Discard resize if already resizing for same size #685
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build And Test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
BuildTest: | |
name: ${{ matrix.name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Linux_GCC | |
flavor: Debug | |
runner: ubuntu-22.04 | |
generator: Ninja | |
cc: gcc | |
cxx: g++ | |
- name: Linux_LLVM | |
flavor: Debug | |
runner: ubuntu-22.04 | |
generator: Ninja | |
cc: clang | |
cxx: clang++ | |
- name: Linux_Release | |
flavor: Release | |
runner: ubuntu-20.04 | |
generator: Ninja | |
cc: gcc | |
cxx: g++ | |
publish: true | |
- name: MacOS_GCC | |
flavor: Debug | |
runner: macos-12 | |
generator: Ninja | |
cc: gcc-11 | |
cxx: g++-11 | |
- name: MacOS_Release | |
flavor: Release | |
runner: macos-12 | |
generator: Ninja | |
cc: clang | |
cxx: clang++ | |
publish: true | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v2 | |
# | |
# Setup and Configuration | |
# | |
- name: Linux - Setup | |
if: ${{ startsWith(matrix.runner, 'ubuntu') }} | |
run: | | |
sudo add-apt-repository -y ppa:neovim-ppa/stable | |
sudo apt-get install -y neovim ninja-build libqt5svg5 libqt5svg5-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools | |
sudo apt-get update -y | |
- name: MacOS - Setup | |
if: ${{ startsWith(matrix.runner, 'macos') }} | |
run: | | |
brew install neovim | |
brew ls --formula | grep -wq ninja || brew install ninja | |
brew ls --formula | grep -wq qt5 || brew install qt5 | |
brew ls --formula | grep -wq msgpack || brew install msgpack | |
brew link qt5 --force | |
# | |
# Build and Test | |
# | |
- name: Neovim Version | |
run: nvim --version | |
- name: Configure | |
env: | |
CMAKE_BUILD_TYPE: ${{ matrix.flavor }} | |
CMAKE_GENERATOR: ${{ matrix.generator }} | |
run: > | |
cmake -B ./build | |
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install | |
-DCMAKE_C_COMPILER=${{ matrix.cc }} | |
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
-DENABLE_TESTS=ON | |
-DCTEST_EXE_ARGS=${{ matrix.ctest_exe_args }} | |
- name: Build | |
run: cmake --build ${{ github.workspace }}/build | |
- name: Test | |
uses: GabrielBB/xvfb-action@v1 # Required by Linux, no X11 $DISPLAY | |
with: | |
working-directory: ${{ github.workspace }}/build | |
run: ctest -VV --timeout 120 --output-on-failure -C ${{ matrix.flavor }} | |
# | |
# Deploy Release Binaries | |
# | |
- name: Linux - Publish | |
if: ${{ matrix.publish && startsWith(matrix.runner, 'ubuntu') }} | |
env: | |
ARCH: x86_64 | |
run: | | |
cmake --build ./build --target install | |
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" | |
chmod a+x linuxdeployqt-continuous-x86_64.AppImage | |
./linuxdeployqt-continuous-x86_64.AppImage ./install/share/applications/nvim-qt.desktop -appimage -qmake=/usr/lib/qt5/bin/qmake | |
- name: MacOS - Publish | |
if: ${{ matrix.publish && startsWith(matrix.runner, 'macos') }} | |
run: | | |
macdeployqt ./build/bin/nvim-qt.app -dmg | |
mv ./build/bin/nvim-qt.dmg neovim-qt.dmg | |
- name: Upload Artifacts | |
if: ${{ matrix.publish }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ${{ matrix.name }} | |
if-no-files-found: ignore | |
path: | | |
Neovim-Qt-*-x86_64.AppImage | |
neovim-qt.dmg | |
neovim-qt-installer.msi | |
neovim-qt.zip |