First CI action for performance check of LVGL code base with SO3 (#4122)
Co-authored-by: Anthony I. Jaccard <anthony.jaccard@heig-vd.ch> Co-authored-by: AnthoJack <to.jaccard@hotmail.ch>
This commit is contained in:
12
.github/auto-comment.yml
vendored
12
.github/auto-comment.yml
vendored
@@ -1,12 +0,0 @@
|
||||
# Comment to a new issue.
|
||||
pullRequestOpened: |
|
||||
Thank you for raising your pull request.
|
||||
|
||||
To ensure that all licensing criteria is met all repositories of the LVGL project apply a process called DCO (Developer's Certificate of Origin).
|
||||
|
||||
The text of DCO can be read here: https://developercertificate.org/
|
||||
For a more detailed description see the [Documentation](https://docs.lvgl.io/latest/en/html/contributing/index.html#developer-certification-of-origin-dco) site.
|
||||
|
||||
By contributing to any repositories of the LVGL project you state that your contribution corresponds with the DCO.
|
||||
|
||||
No further action is required if your contribution fulfills the DCO. If you are not sure about it feel free to ask us in a comment.
|
||||
54
.github/workflows/check_perf.yml
vendored
Normal file
54
.github/workflows/check_perf.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
|
||||
name: SO3-LVGL Performance check
|
||||
on: [push, pull_request, workflow_dispatch]
|
||||
jobs:
|
||||
run_perf_test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'lvgl'
|
||||
|
||||
- name: SO3-LVGL building the Docker image
|
||||
run: |
|
||||
wget https://raw.githubusercontent.com/smartobjectoriented/so3/40-expand-and-document-lvgl-perf-tests/Dockerfile.lvgl
|
||||
docker build . -f Dockerfile.lvgl -t so3/virt64 --platform linux/amd64 --build-arg SO3_BRANCH=40-expand-and-document-lvgl-perf-tests
|
||||
|
||||
- name: SO3-LVL Running containerized performance check app
|
||||
run: docker run --privileged -v $PWD:/host -v /dev:/dev so3/virt64
|
||||
|
||||
- name: Store performance data as artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: performance_data
|
||||
path: perf_check*.txt
|
||||
|
||||
- name: Find previous successful run
|
||||
id: prev_success_run
|
||||
run: |
|
||||
wget ${{ github.api_url }}/repos/${{ github.repository }}/actions/workflows/52959381/runs
|
||||
echo "ID=$(python3 lvgl/scripts/last_success_run_id.py runs)" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Retrieve previous successful run performance data
|
||||
if: ${{ steps.prev_success_run.outputs.ID != 0 }}
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: performance_data
|
||||
path: prev_performance_data
|
||||
run-id: ${{ steps.prev_success_run.outputs.ID }}
|
||||
continue-on-error: true
|
||||
|
||||
- name: Performance report generation
|
||||
id: perf_report
|
||||
run: |
|
||||
python3 lvgl/scripts/perf_report.py perf_check*.txt lvgl/tests/perf/func_thresholds.txt prev_performance_data/perf_check*.txt | tee perf_report.txt
|
||||
python_return=${PIPESTATUS[0]}
|
||||
echo "Python script returned $python_return"
|
||||
exit $python_return
|
||||
|
||||
- name: Store performance report as artifact
|
||||
if: success() || failure()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: performance_report
|
||||
path: perf_report.txt
|
||||
Reference in New Issue
Block a user