Merge pull request #311 from vishwamartur/master

Add workflow to auto-update LICENSE file with recipe licenses
This commit is contained in:
Otavio Salvador 2024-11-12 12:53:35 -03:00 committed by GitHub
commit 660bef4a19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,33 @@
name: Update LICENSE file
on:
push:
paths:
- "**/*.bb"
- "**/*.inc"
schedule:
- cron: "0 0 * * *" # Runs daily at midnight
workflow_dispatch: # Allows manual run
jobs:
update-license:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Run license generation script
run: |
chmod +x ./generate-license-file.sh
./generate-license-file.sh
- name: Commit and push LICENSE file
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git add LICENSE
git commit -m "Auto-update LICENSE file with current recipe licenses"
git push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

18
generate-license-file.sh Normal file
View File

@ -0,0 +1,18 @@
#!/bin/bash
# Create or clear the LICENSE file
echo "# License Information" > LICENSE
echo "" >> LICENSE
echo "This file lists all licenses used by recipes in the meta-freescale-3rdparty layer." >> LICENSE
echo "" >> LICENSE
# Find all .bb and .inc files and extract license information
find . -type f \( -name "*.bb" -o -name "*.inc" \) | while read -r file; do
# Extract the license line from each recipe file, if it exists
license_line=$(grep -i "^LICENSE" "$file")
if [ -n "$license_line" ]; then
echo "$file: $license_line" >> LICENSE
fi
done
echo "LICENSE file has been generated and updated with current recipe licenses."