mirror of
https://github.com/troglobit/finit.git
synced 2026-10-12 10:12:32 +00:00
keventd is the only thing in the tree that links libblkid, so a tree that used to build now stops in configure with no hint of which package to install. Say so where people look for dependencies, and give CI the package it now needs. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
93 lines
3.2 KiB
YAML
93 lines
3.2 KiB
YAML
name: Coverity Scan
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'dev'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
PROJECT_NAME: finit
|
|
CONTACT_EMAIL: troglobit@gmail.com
|
|
COVERITY_NAME: troglobit-finit
|
|
COVERITY_PROJ: troglobit%2Ffinit
|
|
|
|
jobs:
|
|
coverity:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Fetch latest Coverity Scan MD5
|
|
id: var
|
|
env:
|
|
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
|
run: |
|
|
wget -q https://scan.coverity.com/download/cxx/linux64 \
|
|
--post-data "token=$TOKEN&project=${COVERITY_PROJ}&md5=1" \
|
|
-O coverity-latest.tar.gz.md5
|
|
echo "md5=$(cat coverity-latest.tar.gz.md5)" | tee -a $GITHUB_OUTPUT
|
|
- uses: actions/cache@v6
|
|
id: cache
|
|
with:
|
|
path: coverity-latest.tar.gz
|
|
key: ${{ runner.os }}-coverity-${{ steps.var.outputs.md5 }}
|
|
restore-keys: |
|
|
${{ runner.os }}-coverity-${{ steps.var.outputs.md5 }}
|
|
${{ runner.os }}-coverity-
|
|
${{ runner.os }}-coverity
|
|
- name: Download Coverity Scan
|
|
env:
|
|
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
|
run: |
|
|
if [ ! -f coverity-latest.tar.gz ]; then
|
|
wget -q https://scan.coverity.com/download/cxx/linux64 \
|
|
--post-data "token=$TOKEN&project=${COVERITY_PROJ}" \
|
|
-O coverity-latest.tar.gz
|
|
else
|
|
echo "Latest Coverity Scan available from cache :-)"
|
|
md5sum coverity-latest.tar.gz
|
|
fi
|
|
mkdir coverity
|
|
tar xzf coverity-latest.tar.gz --strip 1 -C coverity
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install pkg-config libcap-dev libconfuse-dev libblkid-dev
|
|
wget https://github.com/troglobit/libuev/releases/download/v2.4.1/libuev-2.4.1.tar.xz
|
|
wget https://github.com/troglobit/libite/releases/download/v2.6.2/libite-2.6.2.tar.gz
|
|
tar xf libuev-2.4.1.tar.xz
|
|
tar xf libite-2.6.2.tar.gz
|
|
(cd libuev-2.4.1 && ./configure && make -j9 && sudo make install-strip)
|
|
(cd libite-2.6.2 && ./configure && make -j9 && sudo make install-strip)
|
|
sudo ldconfig
|
|
- name: Configure
|
|
run: |
|
|
./autogen.sh
|
|
./configure --prefix= --enable-x11-common-plugin --with-watchdog \
|
|
--with-keventd --with-libsystemd
|
|
- name: Build
|
|
run: |
|
|
export PATH=`pwd`/coverity/bin:$PATH
|
|
cov-build --dir cov-int make
|
|
- name: Submit results to Coverity Scan
|
|
env:
|
|
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
|
run: |
|
|
tar czvf ${PROJECT_NAME}.tgz cov-int
|
|
curl \
|
|
--form project=${COVERITY_NAME} \
|
|
--form token=$TOKEN \
|
|
--form email=${CONTACT_EMAIL} \
|
|
--form file=@${PROJECT_NAME}.tgz \
|
|
--form version=trunk \
|
|
--form description="${PROJECT_NAME} $(git rev-parse HEAD)" \
|
|
https://scan.coverity.com/builds?project=${COVERITY_PROJ}
|
|
- name: Upload build.log
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: coverity-build.log
|
|
path: cov-int/build-log.txt
|