Repository navigation
feat(m5stack-tab5): multi-framebuffer DPI panel + LVGL DIRECT rendering into the frame buffers (supersedes #847) #2701
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Host C++ / Python Libraries | |
| on: | |
| pull_request: | |
| branches: [main] | |
| # ready_for_review is included so that marking a draft PR "Ready for | |
| # review" triggers a build (the draft guard below skips draft PRs); | |
| # it is not in GitHub's default set (opened/synchronize/reopened). | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| push: | |
| branches: [main] | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| # Least-privilege default: these jobs only check out the repo and build/upload | |
| # artifacts, so read-only access to repository contents is sufficient. | |
| permissions: | |
| contents: read | |
| # Supersede in-progress runs: a new commit on the same PR cancels the earlier, | |
| # now-stale build. Keyed by the workflow (so it never cross-cancels other | |
| # workflows) + the PR number, which is globally unique - unlike the head branch | |
| # name, two fork PRs can't collide on it. For non-PR events (push, release) we | |
| # fall back to github.run_id, which is unique per run, so those runs each get | |
| # their own group and never serialize or cancel each other. | |
| # cancel-in-progress is gated to pull_request events only so that push-to-main | |
| # (and release) runs are never cancelled. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| build_windows: | |
| # Skip build CI for draft PRs; still runs on push-to-main and non-draft PRs. | |
| if: github.event_name != 'pull_request' || github.event.pull_request.draft == false | |
| runs-on: windows-latest | |
| continue-on-error: false | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: 'recursive' | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - name: Build libraries | |
| working-directory: lib/ | |
| run: ./build.ps1 | |
| - name: Upload output folder | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: libespp_windows | |
| path: install | |
| build_linux: | |
| # Skip build CI for draft PRs; still runs on push-to-main and non-draft PRs. | |
| if: github.event_name != 'pull_request' || github.event.pull_request.draft == false | |
| runs-on: ubuntu-latest | |
| continue-on-error: false | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: 'recursive' | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - name: Build libraries | |
| working-directory: lib/ | |
| run: | | |
| ./build.sh | |
| - name: Upload output folder | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: libespp_linux | |
| path: install | |
| build_macos: | |
| # Skip build CI for draft PRs; still runs on push-to-main and non-draft PRs. | |
| if: github.event_name != 'pull_request' || github.event.pull_request.draft == false | |
| runs-on: macos-latest | |
| continue-on-error: false | |
| steps: | |
| - name: Setup XCode | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: latest-stable | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| - name: Checkout repo | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: 'recursive' | |
| fetch-depth: 0 | |
| - name: Build libraries | |
| working-directory: lib/ | |
| run: | | |
| ./build.sh | |
| - name: Upload output folder | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: libespp_macos | |
| path: install |