Skip to content

Commit

Permalink
Add workflow to auto-update LICENSE file with recipe licenses
Browse files Browse the repository at this point in the history
  • Loading branch information
vishwamartur committed Nov 12, 2024
1 parent 9c5b6b0 commit 457e365
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/update-license-file.yml
Original file line number Diff line number Diff line change
@@ -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 changes: 18 additions & 0 deletions generate-license-file.sh
Original file line number Diff line number Diff line change
@@ -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."

0 comments on commit 457e365

Please sign in to comment.