docs(doc-viewer): add label and checkbox widget documentation #1039
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: C/C++ CI | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| - master | |
| - main | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| jobs: | |
| format: | |
| name: Check C/C++ formatting | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Check formatting of changed files | |
| run: npm run format:check -- origin/${{ github.base_ref || 'develop' }} | |
| build: | |
| needs: format | |
| env: | |
| TARGET_MAJOR: 3 | |
| TARGET_VERSION: 3.0.0 | |
| TARGET_KIND: static | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ['ubuntu-latest', 'windows-latest'] | |
| runs-on: ${{ matrix.os }} | |
| name: "Builds binaries on ${{ matrix.os }}" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: xmake-io/github-action-setup-xmake@v1 | |
| with: | |
| package-cache: true | |
| actions-cache-folder: '.xmake-cache' | |
| - name: Install tools | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update --fix-missing | |
| sudo apt-get install debhelper lcov valgrind xvfb -yy | |
| sudo apt-get install libfreetype6-dev libpng-dev libyaml-dev libomp-dev libx11-dev ninja-build fontconfig libfontconfig1-dev libjpeg-dev | |
| - name: Configure | |
| if: runner.os == 'Windows' | |
| run: xmake config -y -v -k ${{ env.TARGET_KIND }} -m release --ci-env=y | |
| - name: Configure for coverage mode | |
| if: runner.os == 'Linux' | |
| run: xmake config -y -v -k ${{ env.TARGET_KIND }} -m coverage --ci-env=y --memcheck=y | |
| - name: Build | |
| run: xmake | |
| - name: Run all tests | |
| if: runner.os == 'Windows' | |
| run: xmake test | |
| - name: Run all tests with memcheck | |
| if: runner.os == 'Linux' | |
| run: xvfb-run -a xmake test | |
| - name: Upload reports to Codecov | |
| if: runner.os == 'Linux' | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false | |
| - name: Build for release | |
| run: | | |
| xmake config -y -v -k ${{ env.TARGET_KIND }} -m release | |
| xmake | |
| - name: Package | |
| run: | | |
| xmake package | |
| xmake install -o dist/lcui-package | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - uses: oven-sh/setup-bun@v2 | |
| - name: Install doc-viewer dependencies | |
| working-directory: examples/doc-viewer | |
| run: bun install | |
| - name: Install lcui-cli | |
| run: npm install -g @lcui/cli | |
| - name: Generate doc-viewer sources | |
| working-directory: examples/doc-viewer | |
| run: bun run compile | |
| - name: Process doc-viewer TSX files | |
| working-directory: examples/doc-viewer | |
| run: lcui build | |
| - name: Build examples | |
| run: xmake build -yg lcui-examples | |
| - name: Install examples | |
| run: xmake install -o dist/lcui-examples -g lcui-examples | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: lcui${{ env.TARGET_MAJOR }}-${{ env.TARGET_VERSION }}-${{ env.TARGET_KIND }} (${{ runner.os }}) | |
| path: | | |
| dist/lcui-package | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: lcui${{ env.TARGET_MAJOR }}-examples (${{ runner.os }}) | |
| path: | | |
| dist/lcui-examples | |
| release: | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| env: | |
| ARTIFACT_DIR: ./release | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: ${{ env.ARTIFACT_DIR }} | |
| - name: Set release version | |
| run: python ./.github/scripts/get_release_version.py | |
| - name: Create release notes | |
| run: python ./.github/scripts/get_release_notes.py | |
| - name: Read package.json | |
| id: release_notes | |
| uses: juliangruber/read-file-action@v1 | |
| with: | |
| path: RELEASE_NOTES.md | |
| trim: false | |
| - name: Create release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| body: ${{ steps.release_notes.outputs.content }} | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| release_name: LCUI ${{ env.REL_VERSION }} | |
| tag: ${{ github.ref }} | |
| file: ${{ env.ARTIFACT_DIR }}/* | |
| overwrite: true | |
| file_glob: true |