diff options
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r-- | .github/workflows/ci.yml | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2eef13098..b650c5dd85 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,44 @@ concurrency: cancel-in-progress: true jobs: + lint: + if: (github.event_name == 'pull_request' && github.base_ref == 'master' && !github.event.pull_request.draft) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + runs-on: ubuntu-20.04 + env: + CC: gcc + steps: + - uses: actions/checkout@v2 + + - name: Setup common 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 cpanminus gettext gperf language-pack-tr libtool-bin locales ninja-build pkg-config python3 python3-pip python3-setuptools unzip flake8 + + - name: Setup interpreter packages + run: | + ./ci/install.sh + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: | + ${{ env.CACHE_NVIM_DEPS_DIR }} + ~/.ccache + key: ${{ matrix.runner }}-lint-${{ matrix.cc }}-${{ hashFiles('cmake/*', 'third-party/**', '**/CMakeLists.txt') }}-${{ github.base_ref }} + + - name: Build third-party + run: ./ci/before_script.sh + + - name: Run lint + run: ./ci/script.sh + + - name: Cache dependencies + if: ${{ success() }} + run: ./ci/before_cache.sh + unixish: name: ${{ matrix.runner }} ${{ matrix.flavor }} (cc=${{ matrix.cc }}) strategy: @@ -23,15 +61,11 @@ jobs: matrix: include: - flavor: asan - cc: clang-12 - runner: ubuntu-20.04 - os: linux - - flavor: lint - cc: gcc + cc: clang-13 runner: ubuntu-20.04 os: linux - flavor: tsan - cc: clang-12 + cc: clang-13 runner: ubuntu-20.04 os: linux - cc: clang @@ -63,20 +97,17 @@ jobs: run: | wget https://apt.llvm.org/llvm.sh chmod a+x llvm.sh - sudo ./llvm.sh 12 + sudo ./llvm.sh 13 rm llvm.sh - name: Install brew packages if: matrix.os == 'osx' run: | - # Workaround brew issues - rm -f /usr/local/bin/2to3 brew update >/dev/null brew install automake ccache perl cpanminus ninja - name: Setup interpreter packages run: | - ./ci/before_install.sh ./ci/install.sh - name: Cache dependencies @@ -140,7 +171,7 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Setup commom environment variables + - name: Setup common environment variables run: ./.github/workflows/env.sh ${{ matrix.flavor }} - name: Install apt packages @@ -167,7 +198,6 @@ jobs: - name: Setup interpreter packages run: | - ./ci/before_install.sh ./ci/install.sh - name: Cache dependencies |