Fetch Licenses #54
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Fetch Licenses | |
on: | |
workflow_dispatch: | |
inputs: | |
force_run: | |
description: 'Force run license extraction' | |
required: false | |
default: 'false' | |
schedule: | |
- cron: '5 4 * * *' # Runs at 0405 UTC (0605 CET, 0005 ET, 2105 PT) | |
jobs: | |
fetch-licenses: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Git | |
run: | | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
- name: Checkout this repository's auto-update-licenses branch | |
uses: actions/checkout@v4 | |
- name: Checkout official SPDX Repository | |
uses: actions/checkout@v4 | |
with: | |
repository: spdx/license-list-data | |
path: official-spdx-licenses # creates a tmp dir to hold the SPDX licenses from the official repo | |
- name: Copy Licenses | |
run: | | |
cp official-spdx-licenses/json/licenses.json cmd/licenses.json | |
cp official-spdx-licenses/json/exceptions.json cmd/exceptions.json | |
- name: Check for changes | |
run: | | |
git diff --exit-code -- cmd/licenses.json cmd/exceptions.json || exit 0 | |
- name: Run license extraction | |
run: | | |
cd cmd | |
echo "Current branch: $(git branch)" | |
go run . extract -l -e | |
cd .. | |
git log --oneline -n 5 | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
commit-message: Add updated license files | |
branch: auto-update-licenses | |
base: main | |
title: "Update SPDX license files" | |
body: "The files in this PR are auto-generated by the [fetch-licenses](./.git/workflows/fetch-license.yaml) workflow when it runs the `cmd/extract` script. It updates SPDX licenses based on the latest released set in the [spdx/license-list-data](https://github.com/spdx/license-list-data) repository maintained by [SPDX](https://spdx.org/licenses/). \n\nTODO: [spdxexp/spdxlicenses/license_ranges.go](./spdxexp/spdxlicenses/license_range.go) has to be updated manually." | |
labels: 'auto-update,licenses' |