Skip to content

⬆️ 👷 Update workflows to ubuntu-24.04 #1100

⬆️ 👷 Update workflows to ubuntu-24.04

⬆️ 👷 Update workflows to ubuntu-24.04 #1100

name: Performance Tests
permissions: read-all
on:
workflow_dispatch:
merge_group:
pull_request:
branches: [ main ]
env:
DEBIAN_FRONTEND: noninteractive
CMAKE_GENERATOR: Ninja
BUILD_TYPE: Release
LLVM_VERSION: 18
jobs:
performance_test:
runs-on: ${{ github.repository_owner == 'intel' && 'intel-' || '' }}ubuntu-24.04
steps:
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Install compiler
run: sudo apt update && sudo apt install -y clang-${{env.LLVM_VERSION}}
- name: Install build tools
run: |
sudo apt install -y ninja-build
- name: Configure CMake
env:
CC: "/usr/lib/llvm-${{env.LLVM_VERSION}}/bin/clang"
CXX: "/usr/lib/llvm-${{env.LLVM_VERSION}}/bin/clang++"
CXX_STANDARD: 20
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
id: build_step
shell: bash
run: |
# interesting summary data on stderr
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -t compilation_benchmark 2>&1 | tee ${{github.workspace}}/build/compilation_output.log
FRONT_END_TIME=$(grep "Clang front-end timer" ${{github.workspace}}/build/compilation_output.log | awk '{print $1}')
# generate summary with expandable section
echo "<details>" >> $GITHUB_STEP_SUMMARY
echo " <summary>Clang front-end: ${FRONT_END_TIME} seconds</summary>" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo " \`\`\`" >> $GITHUB_STEP_SUMMARY
cat ${{github.workspace}}/build/compilation_output.log >> $GITHUB_STEP_SUMMARY
echo " \`\`\`" >> $GITHUB_STEP_SUMMARY
echo "</details>" >> $GITHUB_STEP_SUMMARY
- name: 'Upload Compilation Trace'
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: compilation_trace.json
path: ${{github.workspace}}/build/benchmark/CMakeFiles/compilation_benchmark.dir/big_nexus.cpp.json