mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 11:09:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Kernel-Checker
 | 
						|
 | 
						|
on: [push, pull_request]
 | 
						|
 | 
						|
jobs:
 | 
						|
  kernel-checker:
 | 
						|
    name: FreeRTOS Kernel Header Checks
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      # Install python 3
 | 
						|
      - name: Tool Setup
 | 
						|
        uses: actions/setup-python@v3
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
 | 
						|
      # There is shared code, hosted by FreeRTOS/FreeRTOS, with deps needed by header checker
 | 
						|
      - name: Checkout FreeRTOS Tools
 | 
						|
        uses: actions/checkout@v4.1.1
 | 
						|
        with:
 | 
						|
          repository: FreeRTOS/FreeRTOS
 | 
						|
          sparse-checkout: '.github'
 | 
						|
          ref:  main
 | 
						|
          path: tools
 | 
						|
 | 
						|
      # Checkout user pull request changes
 | 
						|
      - name: Checkout Pull Request
 | 
						|
        uses: actions/checkout@v4.1.1
 | 
						|
        with:
 | 
						|
          path: inspect
 | 
						|
 | 
						|
      # Collect all affected files
 | 
						|
      - name: Collecting changed files
 | 
						|
        uses: lots0logs/gh-action-get-changed-files@2.2.2
 | 
						|
        with:
 | 
						|
          token: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
 | 
						|
      # Run checks
 | 
						|
      - env:
 | 
						|
          bashPass: \033[32;1mPASSED -
 | 
						|
          bashInfo: \033[33;1mINFO -
 | 
						|
          bashFail: \033[31;1mFAILED -
 | 
						|
          bashEnd:  \033[0m
 | 
						|
          stepName: Check File Headers
 | 
						|
        name: ${{ env.stepName }}
 | 
						|
        shell: bash
 | 
						|
        run: |
 | 
						|
          # ${{ env.stepName }}
 | 
						|
          echo -e "::group::${{ env.bashInfo }} Install Dependencies ${{ env.bashEnd }}"
 | 
						|
 | 
						|
          # Copy the common tools from the FreeRTOS/FreeRTOS repo.
 | 
						|
          mv tools/.github/scripts/common inspect/.github/scripts
 | 
						|
 | 
						|
          # Install the necessary python dependencies
 | 
						|
          pip install -r inspect/.github/scripts/common/requirements.txt
 | 
						|
          cd inspect
 | 
						|
 | 
						|
          echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
						|
 | 
						|
          # Use the python script to check the copyright header of modified files.
 | 
						|
          .github/scripts/kernel_checker.py --json ${HOME}/files_modified.json ${HOME}/files_added.json ${HOME}/files_renamed.json
 | 
						|
          exitStatus=$?
 | 
						|
          echo -e "::endgroup::"
 | 
						|
 | 
						|
          if [ $exitStatus -eq 0 ]; then
 | 
						|
            echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
						|
          else
 | 
						|
            echo -e "${{ env.bashFail }} ${{ env.stepName }} ${{ env.bashEnd }}"
 | 
						|
          fi
 | 
						|
          exit $exitStatus
 |