schedule:
- cron: '0 9 * * 5'
+env:
+ COVERITY_PROJ: vincentbernat-lldpd
+ CONTACT_EMAIL: vincent@bernat.ch
+
jobs:
build:
runs-on: ubuntu-latest
- uses: actions/checkout@v2
with:
submodules: true
+ - 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/-/%2F}&md5=1" \
+ -O coverity-latest.tar.gz.md5
+ export MD5=$(cat coverity-latest.tar.gz.md5)
+ echo "Got MD5 $MD5"
+ echo ::set-output name=md5::${MD5}
- uses: actions/cache@v2
- id: coverity-toolchain-cache
+ id: cache
with:
- path: cov-analysis-linux64
- key: ${{ runner.os }}-coverity
- - name: Install stuff
- run: ./tests/ci/install.sh
+ 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
- if: steps.coverity-toolchain-cache.outputs.cache-hit != 'true'
run: |
- wget -q https://scan.coverity.com/download/cxx/linux64 \
- --post-data "token=$TOKEN&project=vincentbernat%2Flldpd" \
- -O cov-analysis-linux64.tar.gz
- mkdir cov-analysis-linux64
- tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
+ if [ ! -f coverity-latest.tar.gz ]; then
+ wget -q https://scan.coverity.com/download/cxx/linux64 \
+ --post-data "token=$TOKEN&project=${COVERITY_PROJ/-/%2F}" \
+ -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
+ ls coverity/
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
+ - name: Install stuff
+ run: ./tests/ci/install.sh
- name: Build
run: |
./autogen.sh
./configure --with-snmp
- export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
+ export PATH=`pwd`/coverity/bin:$PATH
cov-build --dir cov-int make
- name: Submit the result to Coverity Scan
run: |
- tar czvf lldpd.tgz cov-int
+ tar czvf ${COVERITY_PROJ#*-}.tgz cov-int
curl \
- --form project=vincentbernat-lldpd \
+ --form project=${COVERITY_PROJ} \
--form token=$TOKEN \
- --form email=vincent@bernat.ch \
- --form file=@lldpd.tgz \
+ --form email=${CONTACT_EMAIL} \
+ --form file=@${COVERITY_PROJ#*-}.tgz \
--form version=trunk \
- --form description="lldpd $(git rev-parse HEAD)" \
- https://scan.coverity.com/builds?project=vincentbernat%2Flldpd
+ --form description="${COVERITY_PROJ#*-} $(git rev-parse HEAD)" \
+ https://scan.coverity.com/builds?project=${COVERITY_PROJ/-/%2F}
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}