Skip to content

Bump actions/stale from 9.1.0 to 10.0.0 #62

Bump actions/stale from 9.1.0 to 10.0.0

Bump actions/stale from 9.1.0 to 10.0.0 #62

Workflow file for this run

name: Clang-tidy static analysis (Ubuntu 24.04, Python 3.12, Clang-18, Clang-tidy-18)
on:
workflow_dispatch:
pull_request:
merge_group:
push:
branches:
- master
- 'releases/**'
concurrency:
# github.ref is not unique in post-commit
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-clang-tidy
cancel-in-progress: true
permissions: read-all
env:
RISCV_TOOLCHAIN_ROOT: /opt/riscv
jobs:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
changed_components: "${{ steps.smart_ci.outputs.changed_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 15
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
ref_name: ${{ github.ref_name }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*'
- name: Show affected components
run: |
echo "${{ toJSON(steps.smart_ci.outputs.affected_components) }}"
shell: bash
Docker:
needs: Smart_CI
runs-on: aks-linux-4-cores-16gb-docker-build
container:
image: openvinogithubactions.azurecr.io/docker_build:0.2
volumes:
- /mount:/mount
outputs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Set mock output images if pipeline should be skipped
if: ${{ needs.smart_ci.outputs.skip_workflow == 'True' }}
id: mock_image
run: echo "images={\"ov_build\":{\"ubuntu_24_04_x64\":\"mock\", \"ubuntu_22_04_arm64\":\"mock\", \"ubuntu_22_04_riscv_xuantie\":\"mock\"}}" >> "$GITHUB_OUTPUT"
- name: Checkout
if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 15
- uses: ./.github/actions/handle_docker
if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }}
id: handle_docker
with:
images: |
ov_build/ubuntu_24_04_x64
ov_build/ubuntu_22_04_riscv_xuantie
registry: 'openvinogithubactions.azurecr.io'
dockerfiles_root_dir: '.github/dockerfiles'
changed_components: ${{ needs.smart_ci.outputs.changed_components }}
Docker_Arm:
needs: Smart_CI
runs-on: aks-linux-4-cores-8gb-arm-docker-build
container:
image: openvinogithubactions.azurecr.io/docker_build:0.2
volumes:
- /mount:/mount
outputs:
images: "${{ steps.handle_docker.outputs.images }}"
steps:
- name: Set mock output images if pipeline should be skipped
if: ${{ needs.smart_ci.outputs.skip_workflow == 'True' }}
id: mock_image
run: echo "images={\"ov_build\":{\"ubuntu_22_04_arm64\":\"mock\"}}" >> "$GITHUB_OUTPUT"
- name: Checkout
if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 15
- uses: ./.github/actions/handle_docker
if: ${{ needs.smart_ci.outputs.skip_workflow != 'True' }}
id: handle_docker
with:
images: |
ov_build/ubuntu_22_04_arm64
registry: 'openvinogithubactions.azurecr.io'
dockerfiles_root_dir: '.github/dockerfiles'
changed_components: ${{ needs.smart_ci.outputs.changed_components }}
Build:
needs: [Docker, Smart_CI]
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU && !needs.smart_ci.outputs.skip_workflow
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: aks-linux-16-cores-32gb
container:
image: ${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_24_04_x64 }}
volumes:
- /mount:/mount
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja Multi-Config'
CMAKE_CXX_COMPILER_LAUNCHER: sccache
CMAKE_C_COMPILER_LAUNCHER: sccache
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
SCCACHE_IGNORE_SERVER_IO_ERROR: 1
SCCACHE_SERVER_PORT: 35555
SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt
SCCACHE_LOG: warn
GITHUB_WORKSPACE: '/__w/openvino/openvino'
OPENVINO_REPO: /__w/openvino/openvino/openvino
BUILD_DIR: /__w/openvino/openvino/openvino_build
SCCACHE_AZURE_KEY_PREFIX: ubuntu24_x86_64_Release_itt_faster_build_clang_tidy
steps:
- name: Clone OpenVINO
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 15
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: CMake configure
run: |
cmake \
-G "${{ env.CMAKE_GENERATOR }}" \
-DENABLE_CLANG_TIDY=ON \
-DENABLE_PROFILING_ITT=ON \
-DENABLE_DEBUG_CAPS=ON \
-DSELECTIVE_BUILD=COLLECT \
-DENABLE_PYTHON=OFF \
-DENABLE_TESTS=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_CPPLINT=OFF \
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
- name: Cmake build with clang-tidy enabled
run: |
cmake \
--build ${BUILD_DIR} \
--parallel $(($(nproc) - 1)) \
--config ${{ env.CMAKE_BUILD_TYPE }} \
--target openvino_intel_cpu_plugin \
-- --quiet -k 0
- name: Show sccache stats
run: ${SCCACHE_PATH} --show-stats
Build-aarch64:
needs: [Docker_Arm, Smart_CI]
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU && !needs.smart_ci.outputs.skip_workflow
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: aks-linux-16-cores-32gb-arm
container:
image: ${{ fromJSON(needs.docker_arm.outputs.images).ov_build.ubuntu_22_04_arm64 }}
volumes:
- /mount:/mount
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Unix Makefiles'
CMAKE_CXX_COMPILER_LAUNCHER: sccache
CMAKE_C_COMPILER_LAUNCHER: sccache
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
SCCACHE_IGNORE_SERVER_IO_ERROR: 1
SCCACHE_SERVER_PORT: 35555
SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt
SCCACHE_LOG: warn
GITHUB_WORKSPACE: '/__w/openvino/openvino'
OPENVINO_REPO: /__w/openvino/openvino/openvino
BUILD_DIR: /__w/openvino/openvino/openvino_build
SCCACHE_AZURE_KEY_PREFIX: ubuntu24_x86_64_Release_itt_faster_build_clang_tidy_aarch64
steps:
- name: Clone OpenVINO
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 15
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: CMake configure
run: |
cmake \
-G "${{ env.CMAKE_GENERATOR }}" \
-DENABLE_CLANG_TIDY=ON \
-DENABLE_PROFILING_ITT=ON \
-DENABLE_DEBUG_CAPS=ON \
-DSELECTIVE_BUILD=COLLECT \
-DENABLE_PYTHON=OFF \
-DENABLE_TESTS=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_CPPLINT=OFF \
-DCMAKE_RULE_MESSAGES=OFF \
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
- name: Cmake build with clang-tidy enabled
run: |
cmake \
--build ${BUILD_DIR} \
--parallel $(($(nproc) - 1)) \
--config ${{ env.CMAKE_BUILD_TYPE }} \
--target openvino_intel_cpu_plugin \
-- -k
# TODO: add --quiet after switch to Ubuntu 24.04+
- name: Show sccache stats
run: ${SCCACHE_PATH} --show-stats
Build-riscv64:
needs: [Docker, Smart_CI]
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU && !needs.smart_ci.outputs.skip_workflow
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: aks-linux-16-cores-32gb
container:
image: ${{ fromJSON(needs.docker.outputs.images).ov_build.ubuntu_22_04_riscv_xuantie }}
volumes:
- /mount:/mount
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Unix Makefiles'
CMAKE_CXX_COMPILER_LAUNCHER: sccache
CMAKE_C_COMPILER_LAUNCHER: sccache
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
SCCACHE_IGNORE_SERVER_IO_ERROR: 1
SCCACHE_SERVER_PORT: 35555
SCCACHE_ERROR_LOG: /__w/openvino/sccache_log.txt
SCCACHE_LOG: warn
GITHUB_WORKSPACE: '/__w/openvino/openvino'
OPENVINO_REPO: /__w/openvino/openvino/openvino
BUILD_DIR: /__w/openvino/openvino/openvino_build
SCCACHE_AZURE_KEY_PREFIX: ubuntu24_x86_64_Release_itt_faster_build_clang_tidy_riscv64
steps:
- name: Clone OpenVINO
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
timeout-minutes: 15
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: CMake configure
run: |
cmake \
-G "${{ env.CMAKE_GENERATOR }}" \
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/riscv64-100-xuantie-gnu.toolchain.cmake \
-DENABLE_CLANG_TIDY=ON \
-DENABLE_PROFILING_ITT=ON \
-DENABLE_DEBUG_CAPS=ON \
-DSELECTIVE_BUILD=COLLECT \
-DENABLE_PYTHON=OFF \
-DENABLE_TESTS=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_CPPLINT=OFF \
-DCMAKE_RULE_MESSAGES=OFF \
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
- name: Cmake build with clang-tidy enabled
run: |
cmake \
--build ${BUILD_DIR} \
--parallel $(($(nproc) - 1)) \
--config ${{ env.CMAKE_BUILD_TYPE }} \
--target openvino_intel_cpu_plugin \
-- -k
# TODO: add --quiet after switch to Ubuntu 24.04+
Overall_Status:
name: ci/gha_overall_status_clang_tidy
needs: [Smart_CI, Build, Build-aarch64, Build-riscv64]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check status of all jobs
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1