Merge pull request #8021 from Bo98/spdx-workflow
workflows: auto create PRs for license data updates
This commit is contained in:
commit
e1fdb8117c
41
.github/workflows/spdx.yml
vendored
Normal file
41
.github/workflows/spdx.yml
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
name: Update license data
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '* */12 * * *'
|
||||
|
||||
jobs:
|
||||
spdx:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
HOMEBREW_NO_ANALYTICS: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Configure Git
|
||||
uses: Homebrew/actions/git-user-config@master
|
||||
with:
|
||||
username: BrewTestBot
|
||||
|
||||
- name: Setup Homebrew
|
||||
run: |
|
||||
HOMEBREW_REPOSITORY="$(brew --repo)"
|
||||
rm -rf "$HOMEBREW_REPOSITORY"
|
||||
ln -s "$GITHUB_WORKSPACE" "$HOMEBREW_REPOSITORY"
|
||||
|
||||
- name: Update license data
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
cd "$GITHUB_WORKSPACE/Library/Homebrew"
|
||||
if brew update-license-data --commit --fail-if-not-changed; then
|
||||
SPDX_VERSION=$(jq -er .licenseListVersion data/spdx.json)
|
||||
if ! git ls-remote --exit-code --heads origin "spdx-$SPDX_VERSION"; then
|
||||
git checkout -b "spdx-$SPDX_VERSION"
|
||||
git push origin "spdx-$SPDX_VERSION"
|
||||
hub pull-request -m "$(git log -1 --format='%s')"
|
||||
fi
|
||||
fi
|
||||
5
.github/workflows/tests.yml
vendored
5
.github/workflows/tests.yml
vendored
@ -114,11 +114,6 @@ jobs:
|
||||
- name: Run brew man
|
||||
run: brew man --fail-if-changed
|
||||
|
||||
- name: Check for outdated license data
|
||||
run: brew update-license-data --fail-if-changed
|
||||
env:
|
||||
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Run brew tests
|
||||
run: |
|
||||
# brew tests doesn't like world writable directories
|
||||
|
||||
@ -16,8 +16,8 @@ module Homebrew
|
||||
|
||||
Update SPDX license data in the Homebrew repository.
|
||||
EOS
|
||||
switch "--fail-if-changed",
|
||||
description: "Return a failing status code if current license data's version is different from " \
|
||||
switch "--fail-if-not-changed",
|
||||
description: "Return a failing status code if current license data's version is the same as " \
|
||||
"the upstream. This can be used to notify CI when the SPDX license data is out of date."
|
||||
switch "--commit",
|
||||
description: "Commit changes to the SPDX license data."
|
||||
@ -33,7 +33,7 @@ module Homebrew
|
||||
data_url = "https://raw.githubusercontent.com/spdx/license-list-data/#{latest_tag}/json/licenses.json"
|
||||
curl_download(data_url, to: SPDX_PATH, partial: false)
|
||||
|
||||
Homebrew.failed = !system("git", "diff", "--stat", "--exit-code", SPDX_PATH) if args.fail_if_changed?
|
||||
Homebrew.failed = system("git", "diff", "--stat", "--exit-code", SPDX_PATH) if args.fail_if_not_changed?
|
||||
|
||||
return unless args.commit?
|
||||
|
||||
|
||||
@ -1052,8 +1052,8 @@ directory.
|
||||
|
||||
Update SPDX license data in the Homebrew repository.
|
||||
|
||||
* `--fail-if-changed`:
|
||||
Return a failing status code if current license data's version is different from the upstream. This can be used to notify CI when the SPDX license data is out of date.
|
||||
* `--fail-if-not-changed`:
|
||||
Return a failing status code if current license data's version is the same as the upstream. This can be used to notify CI when the SPDX license data is out of date.
|
||||
* `--commit`:
|
||||
Commit changes to the SPDX license data.
|
||||
|
||||
|
||||
@ -1361,8 +1361,8 @@ Initialise a Git repository in the unpacked source\. This is useful for creating
|
||||
Update SPDX license data in the Homebrew repository\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-fail\-if\-changed\fR
|
||||
Return a failing status code if current license data\'s version is different from the upstream\. This can be used to notify CI when the SPDX license data is out of date\.
|
||||
\fB\-\-fail\-if\-not\-changed\fR
|
||||
Return a failing status code if current license data\'s version is the same as the upstream\. This can be used to notify CI when the SPDX license data is out of date\.
|
||||
.
|
||||
.TP
|
||||
\fB\-\-commit\fR
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user