Update LVGL to v9.1.0

This commit is contained in:
jacqueline
2024-06-12 17:54:40 +10:00
parent 611176ed66
commit 64bd9053a2
2244 changed files with 278442 additions and 118864 deletions
+8
View File
@@ -0,0 +1,8 @@
codecov:
notify:
require_ci_to_pass: true
comment: off
coverage:
status:
patch: off
project: off
+1 -1
View File
@@ -1 +1 @@
open_collective: lvgl
github: lvgl
-44
View File
@@ -1,44 +0,0 @@
---
name: Bug report
about: Create a bug report to help us improve
title: ''
labels: ''
assignees: ''
---
<!--
IMPORTANT
Issues that don't use this template will be ignored and closed.
-->
### Perform all steps below and tick them with [x]
- [ ] Read the [FAQ](https://docs.lvgl.io/master/intro/index.html#faq)
- [ ] Check the related part of the [Documentation](https://docs.lvgl.io/)
- [ ] Update lvgl to the latest version
- [ ] Reproduce the issue in a [Simulator](https://docs.lvgl.io/latest/en/html/get-started/pc-simulator.html)
### Describe the bug
<!--
A clear and concise description of what the bug is.
-->
### To Reproduce
<!--
Provide a small, independent code sample that can be used to reproduce the issue.
Ideally this should work in the PC simulator unless the problem is specific to a platform.
Format the code like this:
```c
your code here
```
-->
### Expected behavior
<!--
A clear and concise description of what you expected to happen.
-->
### Screenshots or video
<!--
If applicable, add screenshots to help explain your problem.
-->
+37
View File
@@ -0,0 +1,37 @@
---
name: Bug Report
description: File a bug report
body:
- type: markdown
id: intro
attributes:
value: >
Be sure to read the
[FAQ](https://docs.lvgl.io/master/intro/index.html#faq), and the realted
part of the [Documentation](https://docs.lvgl.io/) first.
- type: input
id: version
attributes:
label: LVGL version
description: See in `lvgl.h` or use `git describe`
placeholder: e.g. v9.0.0
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
validations:
required: true
- type: textarea
id: code-snippet
attributes:
label: How to reproduce?
description: If applicable add a code snippet to reproduce the issue
placeholder: |
```c
your code here
```
validations:
required: false
+1 -1
View File
@@ -6,7 +6,7 @@ contact_links:
- name: Forum
url: https://forum.lvgl.io
about: For topics like How-to, Getting started, Feature request
- name: CONTIBUTING.md
- name: CONTRIBUTING.md
url: https://github.com/lvgl/lvgl/blob/master/docs/CONTRIBUTING.md#faq-about-contributing
about: The basic rules of contributing
- name: CODING_STYLE.md
-29
View File
@@ -1,29 +0,0 @@
---
name: Development discussion
about: Discussion strictly related to the development of the LVGL.
title: ''
labels: ''
assignees: ''
---
<!--
IMPORTANT
Issues that don't use this template will be ignored and closed.
Normal Feature requests should go to the Forum: https://forum.lvgl.io/c/feature-request/9
-->
### Introduce the problem
<!--
A clear and concise description of the problem.
-->
### Examples and cases
<!--
Mention some examples and cases where the problem or the missing feature is relevant
-->
### Suggested solution
<!--
If you already have an idea about the solution share it here
-->
+18
View File
@@ -0,0 +1,18 @@
---
name: Development discussion
description: Share your ideas related to development of LVGL
body:
- type: textarea
id: what-happened
attributes:
label: Introduce the problem
placeholder: A clear and concise description of the problem. Also mention some examples and use cases if possible.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposal
placeholder: If you already have an idea about the solution share it here
validations:
required: false
+54
View File
@@ -0,0 +1,54 @@
---
name: Feature planning
description: Discuss and design new features
body:
- type: textarea
id: whatproblem
attributes:
label: Problem to solve
placeholder: A clear and concise description of the problem. Also mention some examples and use cases if possible.
validations:
required: true
- type: textarea
id: success-criteria
attributes:
label: Success criteria
placeholder: Ideally something measurable, for example make something 20% faster/smaller/shorter/etc.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Solution outline
placeholder: A rough description of how to implement it.
validations:
required: true
- type: textarea
id: rabbit-holes
attributes:
label: Rabbit holes
placeholder: Possible issues and difficulties that we already see.
validations:
required: true
- type: textarea
id: testing
attributes:
label: Testing
placeholder: How will we test this feature?
validations:
required: true
- type: textarea
id: teaching
attributes:
label: Teaching
placeholder: How will we teach this feature/how will the user know about it (docs, examples, etc)?
validations:
required: true
- type: textarea
id: considerations
attributes:
label: Considerations
placeholder: Other approaches that we have considered but dropped (just for the record).
validations:
required: false
+10
View File
@@ -0,0 +1,10 @@
# yaml-language-server: $schema=https://json.schemastore.org/dependabot-2.0.json
version: 2
updates:
-
package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
+9 -4
View File
@@ -2,7 +2,12 @@
A clear and concise description of what the bug or new feature is.
### Checkpoints
- [ ] Follow the [styling guide](https://github.com/lvgl/lvgl/blob/master/docs/CODING_STYLE.md)
- [ ] Run `code-format.py` from the `scripts` folder. [astyle](http://astyle.sourceforge.net/install.html) needs to be installed.
- [ ] Update the documentation
### Notes
- Update the [Documentation](https://github.com/lvgl/lvgl/tree/master/docs) if needed.
- Add [Examples](https://github.com/lvgl/lvgl/tree/master/examples) if relevant.
- Add [Tests](https://github.com/lvgl/lvgl/blob/master/tests/README.md) if applicable.
- If you added new options to `lv_conf_template.h` run [lv_conf_internal_gen.py](https://github.com/lvgl/lvgl/blob/master/scripts/lv_conf_internal_gen.py) and update [Kconfig](https://github.com/lvgl/lvgl/blob/master/Kconfig).
- Run `scripts/code-format.py` ([astyle](http://astyle.sourceforge.net/install.html) version [v3.4.10](https://github.com/szepeviktor/astyle/releases/tag/v3.4.10) needs to be installed) and follow the [Code Conventions](https://docs.lvgl.io/master/CODING_STYLE.html).
- Mark the Pull request as [Draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request) while you are working on the first version, and mark is as _Ready_ when it's ready for review.
- When changes were requested, [re-request review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review) to notify the maintainers.
- Help us to review this Pull Request! Anyone can [approve or request changes](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/approving-a-pull-request-with-required-reviews).
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: arduino/arduino-lint-action@v1
with:
library-manager: update
+21 -11
View File
@@ -8,7 +8,7 @@ jobs:
build:
if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
name: Build ${{ matrix.port }} port
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
continue-on-error: true
strategy:
matrix:
@@ -19,17 +19,16 @@ jobs:
run: |
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
sudo apt-get update -y -qq
sudo apt-get install libsdl2-dev parallel libfreetype-dev librlottie-dev
sudo apt-get install libsdl2-dev parallel libfreetype-dev librlottie-dev libavformat-dev libavcodec-dev libswscale-dev libavutil-dev
- name: Clone lv_micropython
run: |
git clone https://github.com/lvgl/lv_micropython.git .
git checkout release/v8
git checkout master
- name: Initialize lv_bindings submodule
run: git submodule update --init --recursive lib/lv_bindings
- name: Update ${{ matrix.port }} port submodules
if: matrix.port != 'esp32'
# VARIANT needed for unix
run: make -C ports/${{ matrix.port }} VARIANT=dev DEBUG=1 USER_C_MODULES=../../lib/lv_bindings/bindings.cmake submodules
if: matrix.port != 'esp32' && matrix.port != 'rp2'
run: make -C ports/${{ matrix.port }} DEBUG=1 USER_C_MODULES=../../lib/lv_bindings/bindings.cmake submodules
- name: Checkout LVGL submodule
working-directory: ./lib/lv_bindings/lvgl
run: |
@@ -53,7 +52,7 @@ jobs:
# STM32 & RPi Pico port
- name: arm-none-eabi-gcc
if: matrix.port == 'stm32' || matrix.port == 'rp2'
uses: carlosperate/arm-none-eabi-gcc-action@v1.3.0
uses: carlosperate/arm-none-eabi-gcc-action@v1.8.1
with:
release: '9-2019-q4' # The arm-none-eabi-gcc release to use.
- name: Build STM32 port
@@ -61,14 +60,25 @@ jobs:
run: make -j $(nproc) -C ports/stm32 BOARD=STM32F7DISC
- name: Build Raspberry Pi PICO port
if: matrix.port == 'rp2'
run: make -j $(nproc) -C ports/rp2 BOARD=PICO USER_C_MODULES=../../lib/lv_bindings/bindings.cmake
run: |
make -C ports/rp2 BOARD=PICO submodules
make -j $(nproc) -C ports/rp2 BOARD=PICO USER_C_MODULES=../../lib/lv_bindings/bindings.cmake
# Unix port
- name: Build Unix port
if: matrix.port == 'unix'
run: make -j $(nproc) -C ports/unix VARIANT=dev DEBUG=1
run: make -j $(nproc) -C ports/unix DEBUG=1 LV_CFLAGS="-DMICROPY_LV_USE_LOG=0"
- name: Install requirements for the test
run: |
python3 -m pip install pillow
mkdir lib/lv_bindings/lvgl/tests/micropy_test/artifacts
- name: Run tests
if: success() && matrix.port == 'unix'
run: |
export XDG_RUNTIME_DIR=/tmp
lib/lv_bindings/tests/run.sh
python3 lib/lv_bindings/lvgl/tests/micropy_test/__init__.py --artifact-path=lib/lv_bindings/lvgl/tests/micropy_test/artifacts --mpy-path=ports/unix/build-standard/micropython
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: test-artifacts
path: lib/lv_bindings/lvgl/tests/micropy_test/artifacts
+61 -22
View File
@@ -14,14 +14,13 @@ jobs:
matrix:
# A valid option parameter to the cmake file.
# See BUILD_OPTIONS in tests/CMakeLists.txt.
build_option: ['OPTIONS_MINIMAL_MONOCHROME',
'OPTIONS_NORMAL_8BIT',
'OPTIONS_16BIT',
'OPTIONS_16BIT_SWAP',
'OPTIONS_FULL_32BIT']
build_option: ['OPTIONS_16BIT',
'OPTIONS_24BIT',
'OPTIONS_FULL_32BIT',
"OPTIONS_VG_LITE"]
name: Build ${{ matrix.build_option }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: ammaraskar/gcc-problem-matcher@master
- name: Install prerequisites
run: scripts/install-prerequisites.sh
@@ -32,18 +31,31 @@ jobs:
runs-on: ubuntu-latest
name: amd64 Executable Tests
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: ammaraskar/gcc-problem-matcher@master
- name: Install prerequisites
run: scripts/install-prerequisites.sh
- name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- name: Run tests
run: python tests/main.py --report test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
if: github.event_name == 'push'
run: python tests/main.py --report --update-image test
- name: Archive screenshot errors
if: failure()
uses: actions/upload-artifact@v4
with:
fail_ci_if_error: true
verbose: true
name: screenshot-errors-amd64
path: |
tests/ref_imgs/**/*_err.png
test_screenshot_error.h
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v4
# if: github.event_name == 'push' && github.repository == 'lvgl/lvgl'
# with:
# fail_ci_if_error: true
# verbose: true
test-cross:
# The host should always be linux
runs-on: ubuntu-latest
@@ -52,32 +64,37 @@ jobs:
# Run steps on a matrix of 3 arch/distro combinations
strategy:
matrix:
arch: [ 'aarch64', 'armv6', 'armv7' ]
include:
- arch: aarch64
distro: ubuntu22.04
- arch: armv6
distro: bullseye
- arch: armv7
distro: bullseye
steps:
- uses: actions/checkout@v2.1.0
- uses: actions/checkout@v4
- uses: ammaraskar/gcc-problem-matcher@master
- name: Setup cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: |
~/.ccache
key: lvgl_ci_cross_test_ccache_${{ matrix.arch }}_${{ github.sha }}
restore-keys: |
lvgl_ci_cross_test_ccache_${{ matrix.arch }}
- uses: uraimo/run-on-arch-action@v2.1.1
- uses: uraimo/run-on-arch-action@v2.7.1
name: Run tests
id: build
with:
arch: ${{ matrix.arch }}
distro: bullseye
distro: ${{ matrix.distro }}
# Not required, but speeds up builds
githubToken: ${{ github.token }}
# The shell to run commands with in the container
shell: /bin/bash
# Create cached/volume directories on host
setup: |
mkdir -p ~/.ccache
@@ -88,9 +105,31 @@ jobs:
install: |
apt-get update -y
apt-get install build-essential ccache python3 libpng-dev ruby-full gcovr cmake -q -y
if [[ "${{ matrix.distro }}" == "ubuntu22.04" ]]; then
apt-get install libjpeg-turbo8-dev -q -y
else
apt-get install libjpeg62-turbo-dev -q -y
fi
apt-get install build-essential ccache libgcc-10-dev python3 libpng-dev ruby-full gcovr cmake libfreetype6-dev libasan6 pngquant python3-pip libinput-dev libxkbcommon-dev libdrm-dev pkg-config ninja-build -q -y
pip install pypng lz4
/usr/sbin/update-ccache-symlinks
echo 'export PATH="/usr/lib/ccache:$PATH"' | tee -a ~/.bashrc
run: |
env PATH="/usr/lib/ccache:$PATH" ASAN_OPTIONS=detect_leaks=0 python3 tests/main.py test
if [[ "${{ matrix.distro }}" == "ubuntu22.04" ]]; then
# ASan in llvm 14 provided in ubuntu-22.04 is incompatible with
# high-entropy ASLR configured in much newer kernels that GitHub
# runners are using leading to random crashes:
# https://github.com/actions/runner-images/issues/9491
# can remove this once the issue is fixed.
sysctl -w vm.mmap_rnd_bits=28
fi
env PATH="/usr/lib/ccache:$PATH" NON_AMD64_BUILD=1 ASAN_OPTIONS=detect_leaks=0 python3 tests/main.py test
- name: Archive screenshot errors
if: failure()
uses: actions/upload-artifact@v4
with:
name: screenshot-errors-${{ matrix.arch }}
path: |
tests/ref_imgs/**/*_err.png
test_screenshot_error.h
+2 -2
View File
@@ -9,12 +9,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.7
- name: Generate lv_conf_internal.h
+11 -4
View File
@@ -9,15 +9,22 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- name: Checkout astyle
uses: actions/checkout@v4
with:
repository: szepeviktor/astyle
path: astyle
ref: v3.4.12
- name: Install astyle
run: |
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
sudo apt-get update -y -qq
sudo apt-get install astyle
cd astyle/build/gcc/
make
sudo make install
astyle --version
- name: Format code
run: python code-format.py
working-directory: scripts
+10 -5
View File
@@ -9,15 +9,20 @@ jobs:
if: github.repository == 'lvgl/lvgl'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v9
with:
repo-token: ${{ secrets.LVGL_BOT_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
stale-pr-message: |
stale-issue-message: |
We need some feedback on this issue.
Now we mark this as "stale" because there was no activity here for 14 days.
Remove the "stale" label or comment else this will be closed in 7 days.
stale-pr-message: |
We need some feedback on this pull request.
Now we mark this as "stale" because there was no activity here for 14 days.
Remove the "stale" label or comment else this will be closed in 7 days.
close-issue-message: |
As there was no activity here for a while we close this issue. But don't worry, the conversation is still here and you can get back to it at any time.
@@ -25,5 +30,5 @@ jobs:
So feel free to comment if you have remarks or ideas on this topic.
days-before-stale: 14
days-before-close: 7
exempt-issue-labels: 'pinned'
exempt-pr-labels: 'pinned'
exempt-issue-labels: 'pinned, next major, next minor'
exempt-pr-labels: 'pinned, next major, next minor'
+25 -29
View File
@@ -14,16 +14,16 @@ jobs:
concurrency: docs-build-and-deploy
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v1
uses: actions/setup-python@v5
with:
python-version: 3.7
python-version: '3.10'
- name: Cache Python packages
uses: actions/cache@v2
uses: actions/cache@v4
with:
# Cache the Python package environment, excluding pip and setuptools installed by setup-python
path: |
@@ -44,11 +44,11 @@ jobs:
pip install -r docs/requirements.txt
- name: Setup Emscripten cache
id: cache-system-libraries
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ${{env.EM_CACHE_FOLDER}}
key: ${{env.EM_VERSION}}-${{ runner.os }}
- uses: mymindstorm/setup-emsdk@v9
- uses: mymindstorm/setup-emsdk@v14
with:
version: ${{env.EM_VERSION}}
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
@@ -57,7 +57,7 @@ jobs:
- name: Build examples (with cache)
run: scripts/build_html_examples.sh
- name: Build docs
run: docs/build.py
run: docs/build.py skip_latex
- name: Remove .doctrees
run: rm -rf out_html/.doctrees
- name: Retrieve version
@@ -65,29 +65,25 @@ jobs:
echo "::set-output name=VERSION_NAME::$(scripts/find_version.sh)"
id: version
- name: Deploy to subfolder
uses: JamesIves/github-pages-deploy-action@3.7.1
uses: JamesIves/github-pages-deploy-action@v4.5.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ACCESS_TOKEN: ${{ secrets.LVGL_BOT_TOKEN }}
REPOSITORY_NAME: lvgl/docs
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: out_html # The folder the action should deploy.
TARGET_FOLDER: ${{ steps.version.outputs.VERSION_NAME }}
GIT_CONFIG_NAME: lvgl-bot
GIT_CONFIG_EMAIL: lvgl-bot@users.noreply.github.com
PRESERVE: true
SINGLE_COMMIT: true
token: ${{ secrets.LVGL_BOT_TOKEN }}
repository-name: lvgl/docs
branch: gh-pages # The branch the action should deploy to.
folder: out_html # The folder the action should deploy.
target-folder: ${{ steps.version.outputs.VERSION_NAME }}
git-config-name: lvgl-bot
git-config-email: lvgl-bot@users.noreply.github.com
single-commit: true
- name: Deploy to master
if: github.ref == 'refs/heads/master'
uses: JamesIves/github-pages-deploy-action@3.7.1
uses: JamesIves/github-pages-deploy-action@v4.5.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ACCESS_TOKEN: ${{ secrets.LVGL_BOT_TOKEN }}
REPOSITORY_NAME: lvgl/docs
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: out_html # The folder the action should deploy.
TARGET_FOLDER: master
GIT_CONFIG_NAME: lvgl-bot
GIT_CONFIG_EMAIL: lvgl-bot@users.noreply.github.com
PRESERVE: true
SINGLE_COMMIT: true
token: ${{ secrets.LVGL_BOT_TOKEN }}
repository-name: lvgl/docs
branch: gh-pages # The branch the action should deploy to.
folder: out_html # The folder the action should deploy.
target-folder: master
git-config-name: lvgl-bot
git-config-email: lvgl-bot@users.noreply.github.com
commit: true
+5 -5
View File
@@ -3,21 +3,21 @@ name: Push LVGL release to Espressif Component Service
# If the commit is tagged, it will be uploaded. Other scenario silently fail.
on:
push:
branches:
- master
tags:
- v*
jobs:
upload_components:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Upload component to component registry
uses: espressif/github-actions/upload_components@master
uses: espressif/upload-components-ci-action@v1
with:
name: "lvgl"
version: "git"
version: ${{ github.ref_name }}
namespace: "lvgl"
api_token: ${{ secrets.ESP_IDF_COMPONENT_API_TOKEN }}
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
uses: actions/checkout@v4
- name: Automatically close issues that don't follow the issue template
uses: lucasbento/auto-close-issues@v1.0.2
with:
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
name: Build using Makefile
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: ammaraskar/gcc-problem-matcher@master
- name: Install prerequisites
run: scripts/install-prerequisites.sh
+22
View File
@@ -0,0 +1,22 @@
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v1.0, v20.15.10
name: PlatformIO Publish
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install PlatformIO Core
run: pip install --upgrade platformio
- name: Switch to the development version
run: pio upgrade --dev
- name: Publish
run: pio pkg publish --owner lvgl .
+2 -2
View File
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Create Release
id: create_release
uses: actions/create-release@v1
@@ -22,6 +22,6 @@ jobs:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
See the [CHANGELOG](https://github.com/lvgl/lvgl/blob/master/docs/CHANGELOG.md)
See the [CHANGELOG](https://github.com/lvgl/lvgl/blob/master/docs/CHANGELOG.rst)
draft: false
prerelease: false