view .github/workflows/coverity.yml @ 31207:1fcabfdd0547 v9.0.0937

patch 9.0.0937: forked repositories send out useless email Commit: https://github.com/vim/vim/commit/e2da59851a4a24873d0db659f6adb1918bedb216 Author: shane.xb.qian <shane.qian@foxmail.com> Date: Thu Nov 24 12:01:45 2022 +0000 patch 9.0.0937: forked repositories send out useless email Problem: Forked repositories send out useless email. Solution: When Coverity fails to run just ignore it. (Shane-XB-Qian, closes #11604)
author Bram Moolenaar <Bram@vim.org>
date Thu, 24 Nov 2022 13:15:02 +0100
parents 5b94b8c82687
children 39d22d78ce92
line wrap: on
line source

name: Coverity
on:
  schedule:
    - cron: '42 0 * * *'  # Run once per day, to avoid Coverity's submission limits
  workflow_dispatch:

permissions:
  contents: read # to fetch code (actions/checkout)

jobs:
  scan:
    runs-on: ubuntu-20.04

    env:
      CC: gcc
      CFLAGS: -Wno-deprecated-declarations
      DEBIAN_FRONTEND: noninteractive

    steps:
      - name: Checkout repository from github
        uses: actions/checkout@v3

      - name: Download Coverity
        run: |
          # probably no TOKEN if it was a forked repo
          [ -n "${TOKEN}" ] && wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=vim" -O coverity_tool.tgz || exit 0
          mkdir cov-scan
          tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
        env:
          TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}

      - name: Install packages
        run: |
          sudo apt update && sudo apt install -y \
            autoconf \
            gettext \
            libcanberra-dev \
            libperl-dev \
            python-dev \
            python3-dev \
            liblua5.3-dev \
            lua5.3 \
            ruby-dev \
            tcl-dev \
            libgtk2.0-dev \
            desktop-file-utils \
            libtool-bin \
            libsodium-dev

      - name: Set up environment
        run: |
          echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
          (
          echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
          echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
          ) >> $GITHUB_ENV

      - name: Configure
        run: |
          ./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
          # Append various warning flags to CFLAGS.
          sed -i -f ci/config.mk.sed src/auto/config.mk
          sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk

      - name: Build/scan vim
        run: |
          # if no 'cov-build' there, then just cancel the process
          [ -x "$(which cov-build)" ] && cov-build --dir cov-int make -j${NPROC} || exit 0

      - name: Submit results
        run: |
          [ -d 'cov-int' ] && tar zcf cov-scan.tgz cov-int
          [ -n "${TOKEN}" ] \
          && curl --form token=$TOKEN \
            --form email=$EMAIL \
            --form file=@cov-scan.tgz \
            --form version="$(git rev-parse HEAD)" \
            --form description="Automatic GHA scan" \
            'https://scan.coverity.com/builds?project=vim' \
          || exit 0
        env:
          TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
          EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}