[CI] [GHA] Transfer Linux CC to AKS runners (#20146)
* transfer to aks runner * add missing git lfs * use 22 ubuntu; rm unused ninja installation
This commit is contained in:
1 parent
74251ce932
commit
77e043d342
1 file changed
+55
-76
@@ -1,63 +1,71 @@
|
||||
name: Linux Conditional Compilation (Ubuntu 22.04, Python 3.11)
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# run daily at 00:00
|
||||
- cron: '0 0 * * *'
|
||||
# pull_request:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# push:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# branches:
|
||||
# - master
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
branches:
|
||||
- master
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref || github.run_id }}-linux-cc
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-cc
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
|
||||
if: ${{ github.repository_owner == 'openvinotoolkit' }}
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: ubuntu-latest-8-cores
|
||||
runs-on: aks-linux-16-cores
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja'
|
||||
CMAKE_GENERATOR: 'Ninja Multi-Config'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: ccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: ccache
|
||||
OPENVINO_REPO: ${{ github.workspace }}/openvino
|
||||
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib
|
||||
BUILD_DIR: ${{ github.workspace }}/build
|
||||
MODELS_PATH: ${{ github.workspace }}/testdata
|
||||
OV_TEMP: ${{ github.workspace }}/openvino_temp
|
||||
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
|
||||
GITHUB_WORKSPACE: '/__w/openvino/openvino'
|
||||
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
||||
BUILD_DIR: /__w/openvino/openvino/openvino_build
|
||||
MODELS_PATH: /__w/openvino/openvino/testdata
|
||||
CCACHE_DIR: /mount/caches/ccache/ubuntu22_x86_64_cc_Release
|
||||
CCACHE_TEMPDIR: /__w/openvino/openvino/ccache_temp
|
||||
CCACHE_MAXSIZE: 50G
|
||||
steps:
|
||||
|
||||
- name: Install git
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install --assume-yes --no-install-recommends git ca-certificates git-lfs
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
path: ${{ env.OPENVINO_REPO }}
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone test models
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/testdata'
|
||||
path: 'testdata'
|
||||
path: ${{ env.MODELS_PATH }}
|
||||
lfs: 'true'
|
||||
|
||||
#
|
||||
@@ -66,42 +74,16 @@ jobs:
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
sudo -E ${{ env.OPENVINO_REPO }}/install_build_dependencies.sh
|
||||
sudo -E apt update
|
||||
sudo -E apt --assume-yes install openjdk-11-jdk libbz2-dev clang unzip libpugixml-dev libtbb-dev intel-opencl-icd ocl-icd-opencl-dev opencl-headers
|
||||
|
||||
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
|
||||
unzip ninja-linux.zip
|
||||
sudo cp -v ninja /usr/local/bin/
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.11'
|
||||
bash ${OPENVINO_REPO}/install_build_dependencies.sh
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: Setup ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
max-size: "2000M"
|
||||
# Should save cache only if run in the master branch of the base repo
|
||||
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
|
||||
# save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
|
||||
verbose: 2
|
||||
key: linux-cc
|
||||
restore-keys: |
|
||||
linux-cc
|
||||
|
||||
- name: Get number of CPU cores
|
||||
uses: SimenB/github-actions-cpu-cores@v2
|
||||
id: cpu-cores
|
||||
|
||||
- name: CMake configure CC COLLECT
|
||||
run: |
|
||||
cmake \
|
||||
-G "Ninja Multi-Config" \
|
||||
-G "${{ env.CMAKE_GENERATOR }}" \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_GAPI_PREPROCESSING=OFF \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
@@ -109,32 +91,29 @@ jobs:
|
||||
-DENABLE_FASTER_BUILD=ON \
|
||||
-DENABLE_PROFILING_ITT=ON \
|
||||
-DSELECTIVE_BUILD=COLLECT \
|
||||
-S ${{ env.OPENVINO_REPO }} \
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
|
||||
- name: Clean ccache stats
|
||||
run: ccache --zero-stats --show-config
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${BUILD_DIR}
|
||||
|
||||
- name: Build CC COLLECT
|
||||
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config Release --target openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app sea_itt_lib
|
||||
run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app sea_itt_lib
|
||||
|
||||
- name: Show ccache stats
|
||||
run: ccache --show-stats
|
||||
|
||||
- name: Code usage analysis
|
||||
run: |
|
||||
python3 ${{ env.OPENVINO_REPO }}/thirdparty/itt_collector/runtool/sea_runtool.py \
|
||||
--bindir ${{ env.OPENVINO_REPO }}/bin/intel64/Release -o ${{ env.BUILD_DIR }}/itt_stat ! \
|
||||
${{ env.OPENVINO_REPO }}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
|
||||
-m ${{ env.MODELS_PATH }}/models/test_model/test_model_fp32.xml -d CPU
|
||||
python3 ${OPENVINO_REPO}/thirdparty/itt_collector/runtool/sea_runtool.py \
|
||||
--bindir ${OPENVINO_REPO}/bin/intel64/Release -o ${BUILD_DIR}/itt_stat ! \
|
||||
${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
|
||||
-m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU
|
||||
|
||||
- name: CMake configure with CC ON
|
||||
run: cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${{ env.BUILD_DIR }}/*.csv -S ${{ env.OPENVINO_REPO }} -B ${{ env.BUILD_DIR }}
|
||||
run: cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${BUILD_DIR}/*.csv -S ${OPENVINO_REPO} -B ${BUILD_DIR}
|
||||
|
||||
- name: Build with CC ON
|
||||
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config Release --target openvino_intel_cpu_plugin openvino_ir_frontend
|
||||
run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target openvino_intel_cpu_plugin openvino_ir_frontend
|
||||
|
||||
- name: Use OpenVINO after CC
|
||||
run: |
|
||||
${{ env.OPENVINO_REPO }}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
|
||||
-m ${{ env.MODELS_PATH }}/models/test_model/test_model_fp32.xml -d CPU
|
||||
${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
|
||||
-m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU
|
||||
Reference in new issue
Block a user