# Copyright (C) Markus Franz Xaver Johannes Oberhumer name: 'Static Analyzer - clang-tidy' on: schedule: [cron: '30 4 * * 3'] # run weekly Wednesday 04:30 UTC workflow_dispatch: env: CMAKE_REQUIRED_QUIET: "OFF" CTEST_OUTPUT_ON_FAILURE: "ON" DEBIAN_FRONTEND: noninteractive jobs: job-analyze-clang-tidy: # uses cmake + make if: github.repository_owner == 'upx' strategy: fail-fast: false matrix: include: - container: 'alpine:3.18' - container: 'alpine:edge' - container: 'i386/alpine:3.18' - container: 'i386/alpine:edge' name: ${{ format('Analyze clang-tidy {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-extra-tools cmake g++ git make python3' - 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-tidy Analysis Debug' run: 'make -k build/analyze/clang-tidy/debug' - name: 'Perform clang-tidy Analysis Release' if: success() || failure() # run this step even if the previous step failed run: 'make -k build/analyze/clang-tidy/release'