From 4a167d79434f7d4498f6243f3cfbb0faa2b9daba Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Fri, 17 Jul 2020 02:34:23 +0100 Subject: [PATCH] workflows: auto create PRs for license data updates --- .github/workflows/spdx.yml | 41 +++++++++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 5 ----- 2 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/spdx.yml diff --git a/.github/workflows/spdx.yml b/.github/workflows/spdx.yml new file mode 100644 index 0000000000..c371eb64af --- /dev/null +++ b/.github/workflows/spdx.yml @@ -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 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b335d0330f..2ee3d3d130 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -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