aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2020-11-16 21:14:40 -0500
committerJames McCoy <jamessan@jamessan.com>2020-11-24 21:26:01 -0500
commit1731ef31760ebf9574ff898a67c035bb4051b31f (patch)
tree199c16e4ff33b4b3fbd4bd58e7358490dc5ce02e /.github/workflows/ci.yml
parent7caa622afcbbc1f789c24a3f29525759486208da (diff)
downloadrneovim-1731ef31760ebf9574ff898a67c035bb4051b31f.tar.gz
rneovim-1731ef31760ebf9574ff898a67c035bb4051b31f.tar.bz2
rneovim-1731ef31760ebf9574ff898a67c035bb4051b31f.zip
GHA: Rename linux workflow to CI
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000000..b8a8c01137
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,61 @@
+name: Linux CI
+on: [push, pull_request]
+
+jobs:
+ linux:
+ name: ${{ matrix.flavor }} (cc=${{ matrix.cc }})
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ include:
+ - flavor: asan
+ cc: clang-11
+ - flavor: lint
+ cc: gcc
+ - flavor: tsan
+ cc: clang-11
+ env:
+ CC: ${{ matrix.cc }}
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Setup commom environment variables
+ run: ./.github/workflows/env.sh ${{ matrix.flavor }}
+
+ - name: Setup clang repository
+ if: matrix.flavor == 'asan' || matrix.flavor == 'tsan'
+ run: |
+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
+ sudo add-apt-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main'
+
+ - name: Install apt packages
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y autoconf automake build-essential ccache cmake cpanminus cscope gcc-multilib gdb gettext gperf language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip valgrind xclip
+
+ - name: Install new clang
+ if: matrix.flavor == 'asan' || matrix.flavor == 'tsan'
+ run: sudo apt-get install -y clang-11
+
+ - name: Setup interpreter packages
+ run: |
+ ./ci/before_install.sh
+ ./ci/install.sh
+
+ - name: Cache dependencies
+ uses: actions/cache@v2
+ with:
+ path: |
+ ${{ env.CACHE_NVIM_DEPS_DIR }}
+ ~/.ccache
+ key: ${{ runner.os }}-${{ matrix.flavor }}-${{ matrix.cc }}-${{ hashFiles('cmake/*', 'third-party/**', '**/CMakeLists.txt') }}-${{ github.base_ref }}
+
+ - name: Build third-party
+ run: ./ci/before_script.sh
+
+ - name: Build and test
+ run: ./ci/script.sh
+
+ - name: Cache dependencies
+ if: ${{ success() }}
+ run: ./ci/before_cache.sh