add Timer() class For PikaStdDevice, not tested yet #3022
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI——Benchmark | |
on: | |
push: | |
branches: [ master ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
jobs: | |
core: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: INSTALL_PACKAGE | |
run: | | |
sudo apt install ninja-build | |
sudo apt install liblua5.3-dev | |
sudo apt install valgrind | |
sudo apt install upx | |
sudo apt install libmbedtls-dev | |
sudo apt install lcov | |
sudo apt install clang-tidy | |
- name: install_google_benchmark | |
run: | | |
git clone https://github.com/google/benchmark.git | |
cd benchmark | |
cmake -E make_directory "build" | |
cmake -E chdir "build" cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release ../ | |
cmake --build "build" --config Release -j | |
sudo cmake --build "build" --config Release --target install -j | |
- name: PULL_CORE | |
run: cd ${{github.workspace}}/port/linux && bash pull-core.sh | |
- name: INIT | |
run: cd ${{github.workspace}}/port/linux && bash init.sh | |
- name: TEST | |
# Build your program with the given configuration | |
run: cd ${{github.workspace}}/port/linux && bash gtest.sh | |
- name: Lcov | |
run: cd ${{github.workspace}} && bash lcov.sh | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
file: ${{github.workspace}}/testHtml.info | |
- name: VALGRIND | |
run: cd ${{github.workspace}}/port/linux && bash valgrind.sh | |
- name: BENCHMARK | |
run: cd ${{github.workspace}}/port/linux && bash ci_benchmark.sh | |
- name: CLEAR | |
run: cd ${{github.workspace}}/port/linux && rm *.sh | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
tool: 'googlecpp' | |
output-file-path: ${{github.workspace}}/port/linux/benchmark_result.json | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
auto-push: true | |
# - name: Filter for perfoment point | |
# run: | | |
# git clone -b gh-pages https://github.com/pikastech/pikascript ${{github.workspace}}/../pikapages | |
# cd ${{github.workspace}}/../pikapages/dev/bench | |
# git config --global user.email "liang6516@outlook.com" | |
# git config --global user.name "pikastech" | |
# git remote set-url origin https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} | |
# git pull --rebase | |
# pip3 install matplotlib | |
# pip3 install numpy | |
# python3 filter.py | |
# git commit --allow-empty -a -m "update data_after.js" | |
# git push | |
# packageManager-windows: | |
# runs-on: windows-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - name: PACKAGE_MANAGER | |
# run: cd ${{github.workspace}}/tools/pikaPackageManager && go run main.go | |
# bytecode-gen: | |
# runs-on: windows-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - name: BYTECODE-GEN | |
# run: | | |
# cd ${{github.workspace}}/tools/pikaByteCodeGen | |
# cd pikascript | |
# ./pikaPackage.exe | |
# cd .. | |
# mkdir build | |
# cd build | |
# cmake .. |