| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- 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 update
- 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 ..
|