You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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
|