diff options
-rw-r--r-- | .github/workflows/linux.yml | 58 |
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 |