2021-01-08 23:45:08 +03:00
---
# vi: ts=2 sw=2 et:
2021-10-01 13:10:22 +03:00
# SPDX-License-Identifier: LGPL-2.1-or-later
2021-01-08 23:45:08 +03:00
#
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
2021-11-13 12:36:24 +03:00
uses : actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
2021-01-08 23:45:08 +03:00
# 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
2021-01-25 17:45:36 +03:00
run : sudo -E .github/workflows/unit_tests.sh SETUP
2021-01-08 23:45:08 +03:00
# 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