diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/coverity.yml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml new file mode 100644 index 0000000000..2c1863779f --- /dev/null +++ b/.github/workflows/coverity.yml @@ -0,0 +1,39 @@ +--- +# vi: ts=2 sw=2 et: +# +name: Coverity + +on: + schedule: + # Run Coverity daily at midnight + - cron: '0 0 * * *' + +jobs: + build: + runs-on: ubuntu-20.04 + if: github.repository == 'systemd/systemd' + env: + COVERITY_SCAN_BRANCH_PATTERN: "${{ github.ref}}" + COVERITY_SCAN_NOTIFICATION_EMAIL: "" + COVERITY_SCAN_PROJECT_NAME: "${{ github.repository }}" + # Set in repo settings -> secrets -> repository secrets + COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}" + CURRENT_REF: "${{ github.ref }}" + steps: + - name: Repository checkout + uses: actions/checkout@v1 + # https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable + - name: Set the $COVERITY_SCAN_NOTIFICATION_EMAIL env variable + run: echo "COVERITY_SCAN_NOTIFICATION_EMAIL=$(git log -1 ${{ github.sha }} --pretty=\"%aE\")" >> $GITHUB_ENV + - name: Install Coverity tools + run: tools/get-coverity.sh + # Reuse the setup phase of the unit test script to avoid code duplication + - name: Install build dependencies + run: sudo -E .github/workflows/ubuntu-unit-tests.sh SETUP + # Preconfigure with meson to prevent Coverity from capturing meson metadata + - name: Preconfigure the build directory + run: meson cov-build -Dman=false + - name: Build + run: tools/coverity.sh build + - name: Upload the results + run: tools/coverity.sh upload |