aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/linux.yml58
1 files changed, 14 insertions, 44 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index f8e6556b91..4e74ac21ee 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -2,17 +2,26 @@ name: Linux CI
on: [push, pull_request]
jobs:
- ASAN:
+ linux:
+ name: ${{ matrix.flavor }} (cc=${{ matrix.cc }})
runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ include:
+ - flavor: asan
+ cc: clang-11
+ - flavor: lint
+ cc: gcc
env:
- CC: clang-11
+ CC: ${{ matrix.cc }}
steps:
- uses: actions/checkout@v2
- name: Setup commom environment variables
- run: ./.github/workflows/env.sh asan
+ run: ./.github/workflows/env.sh ${{ matrix.flavor }}
- name: Setup clang repository
+ if: matrix.flavor == 'asan'
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo add-apt-repository 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
@@ -23,6 +32,7 @@ jobs:
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 python python-pip python-setuptools python3 python3-pip python3-setuptools unzip valgrind xclip
- name: Install new clang
+ if: matrix.flavor == 'asan'
run: sudo apt-get install -y clang-11
- name: Setup interpreter packages
@@ -32,51 +42,11 @@ jobs:
- name: Cache dependencies
uses: actions/cache@v2
- env:
- cache-name: asan-deps
with:
path: |
${{ env.CACHE_NVIM_DEPS_DIR }}
~/.ccache
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ 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
-
- lint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
-
- - name: Setup commom environment variables
- run: ./.github/workflows/env.sh lint
-
- - name: Install apt packages
- run: |
- sudo apt-get update
- sudo apt-get install -y autoconf automake build-essential ccache cmake gcc-multilib gettext gperf libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip
-
- - name: Setup interpreter packages
- run: |
- ./ci/before_install.sh
- ./ci/install.sh
-
- - name: Cache dependencies
- uses: actions/cache@v2
- env:
- cache-name: lint-deps
- with:
- path: |
- ${{ env.CACHE_NVIM_DEPS_DIR }}
- ~/.ccache
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('cmake/*', 'third-party/**', '**/CMakeLists.txt') }}-${{ github.base_ref }}
+ 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