diff options
| author | James McCoy <jamessan@jamessan.com> | 2020-11-16 21:14:40 -0500 |
|---|---|---|
| committer | James McCoy <jamessan@jamessan.com> | 2020-11-24 21:26:01 -0500 |
| commit | 1731ef31760ebf9574ff898a67c035bb4051b31f (patch) | |
| tree | 199c16e4ff33b4b3fbd4bd58e7358490dc5ce02e /.github/workflows/ci.yml | |
| parent | 7caa622afcbbc1f789c24a3f29525759486208da (diff) | |
| download | rneovim-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.yml | 61 |
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 |