mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
* Perform sparse checkout of just the .github folder for the header check instead of all the files. Update python checkout version being used. Update the version of the get changed files action being used. * Use echo groups on the header check
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-20.04
|
|
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@v3
|
|
with:
|
|
repository: FreeRTOS/FreeRTOS
|
|
sparse-checkout: '.github'
|
|
ref: main
|
|
path: tools
|
|
|
|
# Checkout user pull request changes
|
|
- name: Checkout Pull Request
|
|
uses: actions/checkout@v3
|
|
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
|