ci: base-commit #13
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: DTBS Check | |
| on: | |
| push: | |
| jobs: | |
| dt_binding_check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt install -y swig yamllint python3-pip python3-venv make | |
| - name: Setup Python venv | |
| run: | | |
| python3 -m venv .venv | |
| source .venv/bin/activate | |
| pip install --upgrade pip | |
| pip install dtschema | |
| - name: Cache dt-schema | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/dtschema | |
| .venv/lib/python*/site-packages/dtschema | |
| key: ${{ runner.os }}-dtschema-${{ github.ref_name }} | |
| - name: Run DT binding check | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| LOGDIR=logs | |
| mkdir -p $LOGDIR | |
| source .venv/bin/activate | |
| make dt_binding_check \ | |
| > >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log) \ | |
| 2> >(tee $LOGDIR/dt_binding_check_${{ matrix.arch }}.log \ | |
| $LOGDIR/dt_binding_check_${{ matrix.arch }}_stderr.log >&2) | |
| - name: Upload logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dt-binding-logs | |
| path: logs/ | |
| dtbs: | |
| needs: dt_binding_check | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - arch: arm64 | |
| cross: aarch64-linux-gnu- | |
| compiler: gcc-aarch64-linux-gnu | |
| defconfig: defconfig | |
| - arch: arm | |
| cross: arm-linux-gnueabihf- | |
| compiler: gcc-arm-linux-gnueabihf | |
| defconfig: multi_v7_defconfig | |
| env: | |
| ARCH: ${{ matrix.arch }} | |
| CROSS_COMPILE: ${{ matrix.cross }} | |
| MAKEFLAGS: -j2 | |
| DTB_FILES: mediatek/mt7*.dtb | |
| DTB_FILTER: arch/${{ matrix.arch }}/boot/dts/$DTB_FILES | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # shared cache (nur restore nötig) | |
| - name: Cache dt-schema | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/dtschema | |
| key: ${{ runner.os }}-dtschema-${{ github.ref_name }} | |
| - name: Cache DTBs | |
| uses: actions/cache@v4 | |
| with: | |
| path: arch/${{ matrix.arch }}/boot/dts/ | |
| key: ${{ runner.os }}-dtbs-${{ matrix.arch }}-${{ github.ref_name }} | |
| - name: Install dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt install -y \ | |
| swig yamllint python3-pip python3-venv \ | |
| make ${{ matrix.compiler }} | |
| - name: Setup Python venv | |
| run: | | |
| python3 -m venv .venv | |
| source .venv/bin/activate | |
| pip install dtschema | |
| - name: Run DTBS checks | |
| shell: bash | |
| run: | | |
| set -o pipefail | |
| LOGDIR=logs | |
| mkdir -p $LOGDIR | |
| source .venv/bin/activate | |
| make ${{ matrix.defconfig }} \ | |
| 2>&1 | tee $LOGDIR/defconfig_${{ matrix.arch }}.log | |
| make $DTB_FILES \ | |
| > >(tee $LOGDIR/dtbs_check_${{ matrix.arch }}.log) \ | |
| 2> >(tee $LOGDIR/dtbs_check_${{ matrix.arch }}.log \ | |
| $LOGDIR/dtbs_check_${{ matrix.arch }}_stderr.log >&2) | |
| make V=1 dtbs_check DTB_FILES="$DTB_FILTER" \ | |
| > >(tee -a $LOGDIR/dtbs_check_${{ matrix.arch }}.log) \ | |
| 2> >(tee -a $LOGDIR/dtbs_check_${{ matrix.arch }}.log \ | |
| $LOGDIR/dtbs_check_${{ matrix.arch }}_stderr.log >&2) | |
| - name: Upload logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dtbs-logs-${{ matrix.arch }} | |
| path: logs/ |