diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-06-01 15:41:47 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-06-01 15:41:47 +1000 |
| commit | dd27c3530432ea0b09f01e604bf577f31d8ef841 (patch) | |
| tree | bbf86cf81a78f0ff0b07f31f1c390db473f26fd3 /lib/lvgl/.github/workflows | |
| parent | 6fd588e970470b15936187980829916d0dbe77bb (diff) | |
| download | tangara-fw-dd27c3530432ea0b09f01e604bf577f31d8ef841.tar.gz | |
convert lvgl from submodule to a plain old directory
Diffstat (limited to 'lib/lvgl/.github/workflows')
| m--------- | lib/lvgl | 0 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/arduino.yml | 15 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/build_micropython.yml | 74 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/ccpp.yml | 96 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/check_conf.yml | 24 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/check_style.yml | 31 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/close_old_issues.yml | 29 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/compile_docs.yml | 93 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/esp_upload_component.yml | 23 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/main.yml | 16 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/makefile.yml | 21 | ||||
| -rw-r--r-- | lib/lvgl/.github/workflows/release.yml | 27 |
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 |
