1
0
mirror of https://github.com/lz4/lz4.git synced 2026-10-24 01:48:57 +03:00
Files
lz4/.github/workflows/code-quality.yml
dependabot[bot] 7c4d9817a5 build(deps): bump actions/checkout from 6.0.2 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](de0fac2e45...3d3c42e5aa)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-17 22:44:35 +00:00

106 lines
2.7 KiB
YAML

# Static analysis and code quality checks
name: Code Quality
on:
push:
pull_request:
permissions:
contents: read
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
cppcheck:
name: Cppcheck Static Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install cppcheck
run: |
sudo apt-get update
sudo apt-get install cppcheck
- name: Display cppcheck version
run: |
type cppcheck && which cppcheck && cppcheck --version
- name: Run cppcheck analysis
# This test script ignores the exit code of cppcheck.
# See known issues in README.md.
run: make V=1 clean cppcheck || echo "There are some cppcheck reports but we ignore them for now."
scan-build:
name: Clang Static Analyzer
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install clang-tools
run: |
sudo apt-get update
sudo apt-get install clang-tools
- name: Display environment info
run: |
type gcc && which gcc && gcc --version
type clang && which clang && clang --version
type scan-build && which scan-build
type make && which make && make -v
cat /proc/cpuinfo || echo "/proc/cpuinfo is not present"
- name: Run static analysis
run: make V=1 clean staticAnalyze
valgrind:
name: Valgrind Memory Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install valgrind
run: |
sudo apt-get update
sudo apt-get install valgrind
- name: Display environment info
run: |
type cc && which cc && cc --version
type valgrind && which valgrind && valgrind --version
- name: Run memory analysis
run: make V=1 -C tests test-mem
unicode-lint:
name: Unicode Linting
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Check for unicode issues
run: bash ./tests/unicode_lint.sh
examples:
name: Build Examples
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install dependencies
run: sudo apt-get update
- name: Display compiler info
run: |
type cc && which cc && cc --version
type c++ && which c++ && c++ --version
- name: Build examples
run: make V=1 examples