mirror of https://github.com/upx/upx.git
34 lines
1.5 KiB
YAML
34 lines
1.5 KiB
YAML
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
|
|
|
name: 'Static Analyzer - clang-analyzer'
|
|
on:
|
|
schedule: [cron: '10 4 * * 3'] # run weekly Wednesday 04:10 UTC
|
|
workflow_dispatch:
|
|
env:
|
|
CMAKE_REQUIRED_QUIET: OFF
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
|
jobs:
|
|
job-analyze-clang-analyzer: # uses cmake + make
|
|
if: github.repository_owner == 'upx'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix: {container: ['alpine:3.16','alpine:3.17','alpine:3.18','alpine:edge','i386/alpine:edge']}
|
|
name: ${{ format('Analyze clang-analyzer {0}', matrix.container) }}
|
|
runs-on: ubuntu-latest
|
|
container: ${{ matrix.container }}
|
|
steps:
|
|
- name: ${{ format('Install packages {0}', matrix.container) }}
|
|
run: 'apk update && apk upgrade && apk add clang clang-analyzer cmake g++ git make'
|
|
- name: ${{ format('Check out UPX {0} source code', github.ref_name) }}
|
|
run: |
|
|
# this seems to be needed when running in a container (beause of UID mismatch??)
|
|
git config --global --add safe.directory '*'
|
|
git clone --branch "$GITHUB_REF_NAME" --depth 1 https://github.com/upx/upx .
|
|
git submodule update --init
|
|
- name: 'Perform clang-analyzer scan-build Analysis Debug'
|
|
run: 'make build/analyze/clang-analyzer/debug'
|
|
- name: 'Perform clang-analyzer scan-build Analysis Release'
|
|
if: success() || failure() # run this step even if the previous step failed
|
|
run: 'make build/analyze/clang-analyzer/release'
|