]> begriffs open source - freertos/blob - .github/workflows/kernel-checks.yml
FreeRTOS MPU: Remove MPU region number check (#1261)
[freertos] / .github / workflows / kernel-checks.yml
1 name: Kernel-Checker
2
3 on: [push, pull_request]
4
5 jobs:
6   kernel-checker:
7     name: FreeRTOS Kernel Header Checks
8     runs-on: ubuntu-20.04
9     steps:
10       # Install python 3
11       - name: Tool Setup
12         uses: actions/setup-python@v3
13         env:
14           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15
16       # There is shared code, hosted by FreeRTOS/FreeRTOS, with deps needed by header checker
17       - name: Checkout FreeRTOS Tools
18         uses: actions/checkout@v4.1.1
19         with:
20           repository: FreeRTOS/FreeRTOS
21           sparse-checkout: '.github'
22           ref:  main
23           path: tools
24
25       # Checkout user pull request changes
26       - name: Checkout Pull Request
27         uses: actions/checkout@v4.1.1
28         with:
29           path: inspect
30
31       # Collect all affected files
32       - name: Collecting changed files
33         uses: lots0logs/gh-action-get-changed-files@2.2.2
34         with:
35           token: ${{ secrets.GITHUB_TOKEN }}
36
37       # Run checks
38       - env:
39           bashPass: \033[32;1mPASSED -
40           bashInfo: \033[33;1mINFO -
41           bashFail: \033[31;1mFAILED -
42           bashEnd:  \033[0m
43           stepName: Check File Headers
44         name: ${{ env.stepName }}
45         shell: bash
46         run: |
47           # ${{ env.stepName }}
48           echo -e "::group::${{ env.bashInfo }} Install Dependencies ${{ env.bashEnd }}"
49
50           # Copy the common tools from the FreeRTOS/FreeRTOS repo.
51           mv tools/.github/scripts/common inspect/.github/scripts
52
53           # Install the necessary python dependencies
54           pip install -r inspect/.github/scripts/common/requirements.txt
55           cd inspect
56
57           echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}"
58
59           # Use the python script to check the copyright header of modified files.
60           .github/scripts/kernel_checker.py --json ${HOME}/files_modified.json ${HOME}/files_added.json ${HOME}/files_renamed.json
61           exitStatus=$?
62           echo -e "::endgroup::"
63
64           if [ $exitStatus -eq 0 ]; then
65             echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
66           else
67             echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
68           fi
69           exit $exitStatus