mudlet/.github/workflows/performance-analysis.yml
dependabot[bot] ff6bd8755a
Infrastructure: Bump lukka/get-cmake from 4.4.0 to 4.4.2 (#9729)
Bumps [lukka/get-cmake](https://github.com/lukka/get-cmake) from 4.4.0
to 4.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lukka/get-cmake/releases">lukka/get-cmake's
releases</a>.</em></p>
<blockquote>
<h2>CMake v4.4.2</h2>
<p>The <code>get-cmake</code> action downloads and caches CMake and
Ninja on your workflows. Versions can be specified using <a
href="https://docs.npmjs.com/about-semantic-versioning">semantic
versioning ranges</a> using <a
href="https://github.com/lukka/get-cmake/blob/latest/action.yml#L13"><code>cmakeVersion</code></a>
and <a
href="https://github.com/lukka/get-cmake/blob/latest/action.yml#L16"><code>ninjaVersion</code></a>
inputs.</p>
<p>Changes:</p>
<ul>
<li><code>latest</code> is now using CMake version <code>v4.4.2</code>,
use this one-liner e.g.:
<code>uses: lukka/get-cmake@latest</code></li>
</ul>
<p>Enjoy!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fffaaafeea"><code>fffaaaf</code></a>
New CMake version(s): cmake-v4.4.2</li>
<li><a
href="4a7d025fc6"><code>4a7d025</code></a>
New CMake version(s): cmake-v4.4.1</li>
<li><a
href="06fec8f1da"><code>06fec8f</code></a>
Bump actions/checkout from 5 to 7</li>
<li>See full diff in <a
href="https://github.com/lukka/get-cmake/compare/v4.4.0...v4.4.2">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vadim Peretokin <vperetokin@hey.com>
2026-08-08 13:34:03 +02:00

204 lines
7.3 KiB
YAML

name: "Performance analysis"
on:
push:
branches: development
workflow_dispatch:
jobs:
analyze:
name: ${{matrix.buildname}}
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
include:
- buildname: 'pi'
qt: '6.9.0'
triplet: arm64-linux
compiler: gcc_64
os: [ self-hosted, pi4 ]
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 0
submodules: recursive
- name: Use CMake 3.30.3
uses: lukka/get-cmake@v4.4.2
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential git liblua5.1-dev zlib1g-dev libhunspell-dev libpcre2-dev \
libzip-dev libboost-graph-dev libonig-dev libyajl-dev libpulse-dev lua-filesystem lua-zip \
lua-sql-sqlite3 qt6-multimedia-dev qt6-tools-dev luarocks ccache libpugixml-dev cmake ninja-build \
xvfb libassimp-dev qtkeychain-qt6-dev -y
sudo luarocks install lrexlib-pcre2
sudo luarocks install luautf8
sudo luarocks install lua-yajl YAJL_LIBDIR=`find /usr -name "libyajl.so" -printf '%h\n'` YAJL_INCDIR=/usr/include
- name: Set build info
run: |
${{github.workspace}}/CI/validate_deployment.sh
${{github.workspace}}/CI/set-build-info.sh
- name: Check ccache stats prior to build
if: runner.os == 'Linux' || runner.os == 'macOS'
run: ccache --zero-stats --show-stats
- name: Build Mudlet
run : |
WITH_UPDATER=NO WITH_3DMAPPER=NO cmake -DCMAKE_BUILD_TYPE=Release -DUSE_SANITIZER="" -S${{github.workspace}} -B${{github.workspace}}/build -G Ninja
cd ${{github.workspace}}/build
ninja -j $(expr `nproc` - 1)
tree
- name: Check ccache stats post build
if: runner.os == 'Linux' || runner.os == 'macOS'
run: ccache --show-stats
- name: Copy mudlet executable in place for executing display benchmark
run: cp ${{github.workspace}}/build/src/mudlet ${{github.workspace}}/src
shell: bash
- name: Remove Mudlet config directory
run: rm -rf $HOME/.config/mudlet
shell: bash
- name: Get commit date
id: commitdate
run: echo "::set-output name=date::$(TZ=UTC0 git show --quiet --date='format-local:%Y-%m-%dT%H:%M:%S' --format='%cd' ${{ env.GIT_COMMIT_SHA }})"
- name: Run display benchmark 1
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 1
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 2
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 2
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 3
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 3
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 4
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 4
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 5
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 5
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 6
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 6
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 7
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 7
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'
- name: Run display benchmark 8
timeout-minutes: 3
run: xvfb-run --auto-servernum ${{github.workspace}}/src/mudlet --profile "Mudlet self-test" --mirror
env:
AUTORUN_DISPLAY_BENCHMARK: 'true'
COMMIT_DATE: ${{ steps.commitdate.outputs.date }}
- name: Upload results 8
uses: Mudlet/gsheets-append-action@development
with:
GOOGLE_USER_MAIL: ${{secrets.GOOGLE_PERFORMANCE_EMAIL}}
GOOGLE_USER_KEY: ${{secrets.GOOGLE_PERFORMANCE_KEY}}
SPREADSHEET: '1Fm-CyDJFNQUeg9LYE845lzogq0eDMI0lXMOg-wU1-2g'
TABLE_START_CELL: 'A1'
DATA_ENV_NAME: 'PERFDATA'