summaryrefslogtreecommitdiff
path: root/lib/lvgl/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lvgl/.github/workflows')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/.github/workflows/arduino.yml15
-rw-r--r--lib/lvgl/.github/workflows/build_micropython.yml74
-rw-r--r--lib/lvgl/.github/workflows/ccpp.yml96
-rw-r--r--lib/lvgl/.github/workflows/check_conf.yml24
-rw-r--r--lib/lvgl/.github/workflows/check_style.yml31
-rw-r--r--lib/lvgl/.github/workflows/close_old_issues.yml29
-rw-r--r--lib/lvgl/.github/workflows/compile_docs.yml93
-rw-r--r--lib/lvgl/.github/workflows/esp_upload_component.yml23
-rw-r--r--lib/lvgl/.github/workflows/main.yml16
-rw-r--r--lib/lvgl/.github/workflows/makefile.yml21
-rw-r--r--lib/lvgl/.github/workflows/release.yml27
12 files changed, 449 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl
deleted file mode 160000
-Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a
diff --git a/lib/lvgl/.github/workflows/arduino.yml b/lib/lvgl/.github/workflows/arduino.yml
new file mode 100644
index 00000000..a6fbba1b
--- /dev/null
+++ b/lib/lvgl/.github/workflows/arduino.yml
@@ -0,0 +1,15 @@
+name: Arduino Lint
+on:
+ push:
+ branches: [ master, release/v8.* ]
+ pull_request:
+ branches: [ master, release/v8.* ]
+jobs:
+ lint:
+ 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: arduino/arduino-lint-action@v1
+ with:
+ library-manager: update
diff --git a/lib/lvgl/.github/workflows/build_micropython.yml b/lib/lvgl/.github/workflows/build_micropython.yml
new file mode 100644
index 00000000..e28de5f1
--- /dev/null
+++ b/lib/lvgl/.github/workflows/build_micropython.yml
@@ -0,0 +1,74 @@
+name: Micropython CI
+
+on:
+ push:
+ pull_request:
+
+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
+ continue-on-error: true
+ strategy:
+ matrix:
+ port: ['unix', 'esp32', 'stm32', 'rp2']
+ steps:
+ - uses: ammaraskar/gcc-problem-matcher@master
+ - name: Install Dependencies
+ 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
+ - name: Clone lv_micropython
+ run: |
+ git clone https://github.com/lvgl/lv_micropython.git .
+ git checkout release/v8
+ - 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
+ - name: Checkout LVGL submodule
+ working-directory: ./lib/lv_bindings/lvgl
+ run: |
+ git fetch --force ${{ github.event.repository.html_url }} "+refs/heads/*:refs/remotes/origin/*"
+ git fetch --force ${{ github.event.repository.html_url }} "+refs/pull/*:refs/remotes/origin/pr/*"
+ git checkout ${{ github.sha }} || git checkout ${{ github.event.pull_request.head.sha }}
+ git submodule update --init --recursive
+ - name: Build mpy-cross
+ run: make -j $(nproc) -C mpy-cross
+
+ # ESP32 port
+ - name: Setup ESP-IDF
+ if: matrix.port == 'esp32'
+ run: |
+ source tools/ci.sh && ci_esp32_idf44_setup
+ - name: Build ESP32 port
+ if: matrix.port == 'esp32'
+ run: |
+ source tools/ci.sh && ci_esp32_build
+
+ # 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
+ with:
+ release: '9-2019-q4' # The arm-none-eabi-gcc release to use.
+ - name: Build STM32 port
+ if: matrix.port == 'stm32'
+ 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
+ # Unix port
+ - name: Build Unix port
+ if: matrix.port == 'unix'
+ run: make -j $(nproc) -C ports/unix VARIANT=dev DEBUG=1
+ - name: Run tests
+ if: success() && matrix.port == 'unix'
+ run: |
+ export XDG_RUNTIME_DIR=/tmp
+ lib/lv_bindings/tests/run.sh
+
diff --git a/lib/lvgl/.github/workflows/ccpp.yml b/lib/lvgl/.github/workflows/ccpp.yml
new file mode 100644
index 00000000..37f46e5c
--- /dev/null
+++ b/lib/lvgl/.github/workflows/ccpp.yml
@@ -0,0 +1,96 @@
+name: C/C++ CI
+
+on:
+ push:
+ branches: [ master, release/v8.* ]
+ pull_request:
+ branches: [ master, release/v8.* ]
+
+jobs:
+ build:
+ if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
+ runs-on: ubuntu-latest
+ strategy:
+ 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']
+ name: Build ${{ matrix.build_option }}
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ammaraskar/gcc-problem-matcher@master
+ - name: Install prerequisites
+ run: scripts/install-prerequisites.sh
+ - name: Building ${{ matrix.build_option }}
+ run: python tests/main.py --build-option=${{ matrix.build_option }} build
+
+ test-native:
+ runs-on: ubuntu-latest
+ name: amd64 Executable Tests
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ammaraskar/gcc-problem-matcher@master
+ - name: Install prerequisites
+ run: scripts/install-prerequisites.sh
+ - 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'
+ with:
+ fail_ci_if_error: true
+ verbose: true
+ test-cross:
+ # The host should always be linux
+ runs-on: ubuntu-latest
+ name: ${{ matrix.arch }} Executable Tests
+
+ # Run steps on a matrix of 3 arch/distro combinations
+ strategy:
+ matrix:
+ arch: [ 'aarch64', 'armv6', 'armv7' ]
+
+ steps:
+ - uses: actions/checkout@v2.1.0
+ - uses: ammaraskar/gcc-problem-matcher@master
+ - name: Setup cache
+ uses: actions/cache@v2
+ 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
+ name: Run tests
+ id: build
+ with:
+ arch: ${{ matrix.arch }}
+ distro: bullseye
+
+ # 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
+
+ # Mount cached directories in the container for faster builds
+ dockerRunArgs: |
+ --volume "${HOME}/.ccache:/root/.ccache"
+
+ install: |
+ apt-get update -y
+ apt-get install build-essential ccache python3 libpng-dev ruby-full gcovr cmake -q -y
+ /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
diff --git a/lib/lvgl/.github/workflows/check_conf.yml b/lib/lvgl/.github/workflows/check_conf.yml
new file mode 100644
index 00000000..42223709
--- /dev/null
+++ b/lib/lvgl/.github/workflows/check_conf.yml
@@ -0,0 +1,24 @@
+name: Verify that lv_conf_internal.h matches repository state
+on:
+ push:
+ pull_request:
+
+jobs:
+ verify-conf-internal:
+ if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Setup Python
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.7
+ - name: Generate lv_conf_internal.h
+ run: python lv_conf_internal_gen.py
+ working-directory: scripts
+ - name: Check that repository is clean
+ run: git diff --exit-code >/dev/null 2>&1 || (echo "Please regenerate lv_conf_internal.h using scripts/lv_conf_internal_gen.py"; false)
diff --git a/lib/lvgl/.github/workflows/check_style.yml b/lib/lvgl/.github/workflows/check_style.yml
new file mode 100644
index 00000000..b5cec3ef
--- /dev/null
+++ b/lib/lvgl/.github/workflows/check_style.yml
@@ -0,0 +1,31 @@
+name: Verify code formatting
+on:
+ push:
+ pull_request:
+
+jobs:
+ verify-formatting:
+ if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - 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
+ - name: Format code
+ run: python code-format.py
+ working-directory: scripts
+ - name: Check that repository is clean
+ shell: bash
+ run: |
+ set -o pipefail
+ if ! (git diff --exit-code --color=always | tee /tmp/lvgl_diff.patch); then
+ echo "Please apply the preceding diff to your code or run scripts/code-format.py"
+ exit 1
+ fi
diff --git a/lib/lvgl/.github/workflows/close_old_issues.yml b/lib/lvgl/.github/workflows/close_old_issues.yml
new file mode 100644
index 00000000..7c9d16e1
--- /dev/null
+++ b/lib/lvgl/.github/workflows/close_old_issues.yml
@@ -0,0 +1,29 @@
+name: 'Close stale issues and PRs'
+on:
+ schedule:
+ - cron: '30 1 * * *'
+ workflow_dispatch:
+
+jobs:
+ stale:
+ if: github.repository == 'lvgl/lvgl'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/stale@v5
+ 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: |
+ 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.
+ 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.
+
+ 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'
diff --git a/lib/lvgl/.github/workflows/compile_docs.yml b/lib/lvgl/.github/workflows/compile_docs.yml
new file mode 100644
index 00000000..8e721884
--- /dev/null
+++ b/lib/lvgl/.github/workflows/compile_docs.yml
@@ -0,0 +1,93 @@
+name: Build docs
+on:
+ push:
+ branches:
+ - master
+ - 'release/*'
+env:
+ EM_VERSION: 2.0.4
+ EM_CACHE_FOLDER: 'emsdk-cache'
+jobs:
+ build-and-deploy:
+ if: github.repository == 'lvgl/lvgl'
+ runs-on: ubuntu-latest
+ concurrency: docs-build-and-deploy
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ persist-credentials: false
+ fetch-depth: 0
+ - name: Setup Python
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.7
+ - name: Cache Python packages
+ uses: actions/cache@v2
+ with:
+ # Cache the Python package environment, excluding pip and setuptools installed by setup-python
+ path: |
+ ~/.cache/pip
+ ${{ env.pythonLocation }}/bin/*
+ ${{ env.pythonLocation }}/include
+ ${{ env.pythonLocation }}/lib/python*/site-packages/*
+ !${{ env.pythonLocation }}/bin/pip*
+ !${{ env.pythonLocation }}/lib/python*/site-packages/pip*
+ !${{ env.pythonLocation }}/lib/python*/site-packages/setuptools*
+ key: ${{ env.pythonLocation }}-${{ hashFiles('docs/requirements.txt') }}
+ - name: Install Doxygen and Latex dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install doxygen texlive-xetex texlive-binaries texlive-lang-english latexmk fonts-freefont-otf
+ - name: Install requirements
+ run: |
+ pip install -r docs/requirements.txt
+ - name: Setup Emscripten cache
+ id: cache-system-libraries
+ uses: actions/cache@v2
+ with:
+ path: ${{env.EM_CACHE_FOLDER}}
+ key: ${{env.EM_VERSION}}-${{ runner.os }}
+ - uses: mymindstorm/setup-emsdk@v9
+ with:
+ version: ${{env.EM_VERSION}}
+ actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
+ - name: ccache
+ uses: hendrikmuhs/ccache-action@v1
+ - name: Build examples (with cache)
+ run: scripts/build_html_examples.sh
+ - name: Build docs
+ run: docs/build.py
+ - name: Remove .doctrees
+ run: rm -rf out_html/.doctrees
+ - name: Retrieve version
+ run: |
+ 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
+ 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
+ - name: Deploy to master
+ if: github.ref == 'refs/heads/master'
+ uses: JamesIves/github-pages-deploy-action@3.7.1
+ 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
diff --git a/lib/lvgl/.github/workflows/esp_upload_component.yml b/lib/lvgl/.github/workflows/esp_upload_component.yml
new file mode 100644
index 00000000..5c0ae100
--- /dev/null
+++ b/lib/lvgl/.github/workflows/esp_upload_component.yml
@@ -0,0 +1,23 @@
+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
+
+jobs:
+ upload_components:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ submodules: "recursive"
+
+ - name: Upload component to component registry
+ uses: espressif/github-actions/upload_components@master
+ with:
+ name: "lvgl"
+ version: "git"
+ namespace: "lvgl"
+ api_token: ${{ secrets.ESP_IDF_COMPONENT_API_TOKEN }}
diff --git a/lib/lvgl/.github/workflows/main.yml b/lib/lvgl/.github/workflows/main.yml
new file mode 100644
index 00000000..9c4fc306
--- /dev/null
+++ b/lib/lvgl/.github/workflows/main.yml
@@ -0,0 +1,16 @@
+on:
+ issues:
+ types: [opened, edited]
+
+jobs:
+ auto_close_issues:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+ - name: Automatically close issues that don't follow the issue template
+ uses: lucasbento/auto-close-issues@v1.0.2
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ issue-close-message: "@${issue.user.login}: hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template." # optional property
+ closed-issues-label: "not-template"
diff --git a/lib/lvgl/.github/workflows/makefile.yml b/lib/lvgl/.github/workflows/makefile.yml
new file mode 100644
index 00000000..39a9a132
--- /dev/null
+++ b/lib/lvgl/.github/workflows/makefile.yml
@@ -0,0 +1,21 @@
+name: Check Makefile
+
+on:
+ push:
+ branches: [ master, release/v8.* ]
+ pull_request:
+ branches: [ master, release/v8.* ]
+
+jobs:
+ build:
+ if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }}
+ runs-on: ubuntu-latest
+ name: Build using Makefile
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ammaraskar/gcc-problem-matcher@master
+ - name: Install prerequisites
+ run: scripts/install-prerequisites.sh
+ - name: Build
+ working-directory: tests/makefile
+ run: make test_file
diff --git a/lib/lvgl/.github/workflows/release.yml b/lib/lvgl/.github/workflows/release.yml
new file mode 100644
index 00000000..cf1d69a6
--- /dev/null
+++ b/lib/lvgl/.github/workflows/release.yml
@@ -0,0 +1,27 @@
+on:
+ push:
+ # Sequence of patterns matched against refs/tags
+ tags:
+ - "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v1.0, v20.15.10
+
+name: Create Release
+
+jobs:
+ build:
+ name: Create Release
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+ - name: Create Release
+ id: create_release
+ uses: actions/create-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
+ with:
+ tag_name: ${{ github.ref }}
+ release_name: Release ${{ github.ref }}
+ body: |
+ See the [CHANGELOG](https://github.com/lvgl/lvgl/blob/master/docs/CHANGELOG.md)
+ draft: false
+ prerelease: false