# Copyright (C) Markus Franz Xaver Johannes Oberhumer name: 'Static Analyzer - clang-analyzer' on: schedule: [cron: '10 5 * * 3'] # run weekly Wednesday 05:10 UTC workflow_dispatch: env: CMAKE_REQUIRED_QUIET: OFF DEBIAN_FRONTEND: noninteractive jobs: job-analyze-clang-analyzer: # uses cmake + make strategy: fail-fast: false matrix: {container: ['alpine:3.16','alpine:3.17','alpine:3.18','alpine:edge','i386/alpine:edge']} name: ${{ format('Analyze {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: | git clone --branch "$GITHUB_REF_NAME" --depth 1 https://github.com/upx/upx git -C upx submodule update --init - name: 'Perform clang-analyzer scan-build Analysis Debug' run: 'make -C upx 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 -C upx build/analyze/clang-analyzer/release'