From d550ed65ac0044df1535bd08889eab35a3828351 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Mon, 24 Aug 2020 15:28:16 +0100 Subject: [PATCH] Scheduled workflows fixes - Ensure `spdx.yml` has same fixes as `tapioca.yml`. - Don't `reset --hard` to ensure that `brew` commands used are those in the same branch rather than always from `origin/master` - Don't check for an existing branch but instead force-push to it if there's any updates. - Provide sample `brew typecheck` command that can be used. --- .github/workflows/spdx.yml | 19 ++++++++----------- .github/workflows/tapioca.yml | 17 ++++++++--------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/.github/workflows/spdx.yml b/.github/workflows/spdx.yml index 4df41d32bd..4c59e7cb17 100644 --- a/.github/workflows/spdx.yml +++ b/.github/workflows/spdx.yml @@ -25,16 +25,14 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - cd "$GITHUB_WORKSPACE/Library/Homebrew" + git fetch origin master + git reset origin/master + git checkout -B spdx-update if brew update-license-data --fail-if-not-changed; then - if ! git ls-remote --exit-code --heads origin spdx-update; then - git checkout -B spdx-update - git reset origin/master - git add data/spdx - git commit -m "spdx: update license data." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/spdx.yml)." - echo "::set-output name=committed::true" - fi + git add "$GITHUB_WORKSPACE/Library/Homebrew/data/spdx" + git commit -m "spdx: update license data." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/spdx.yml)." + echo "::set-output name=committed::true" fi - name: Push commits @@ -43,11 +41,10 @@ jobs: with: token: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} branch: spdx-update + force: true - name: Open a pull request if: steps.update.outputs.committed == 'true' - run: | - cd "$GITHUB_WORKSPACE/Library/Homebrew" - hub pull-request --no-edit + run: hub pull-request --no-edit env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} diff --git a/.github/workflows/tapioca.yml b/.github/workflows/tapioca.yml index 56c24fbb13..b5c519fe9e 100644 --- a/.github/workflows/tapioca.yml +++ b/.github/workflows/tapioca.yml @@ -33,22 +33,20 @@ jobs: - name: Update Tapioca definitions id: update run: | - cd "$GITHUB_WORKSPACE/Library/Homebrew" - git fetch origin master - git reset --hard origin/master + git reset origin/master git checkout -B tapioca-update # TODO: replace with `brew typecheck` + cd "$GITHUB_WORKSPACE/Library/Homebrew" bundle exec tapioca sync --exclude json bundle exec srb rbi hidden-definitions - if ! git diff --no-patch --exit-code -- sorbet; then - if ! git ls-remote --exit-code --heads origin tapioca-update >/dev/null; then - git add sorbet - git commit -m "sorbet: update RBI files using Tapioca." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/tapioca.yml)." - echo "::set-output name=committed::true" - fi + + # if brew typecheck --update --fail-if-not-changed; then + git add "$GITHUB_WORKSPACE/Library/Homebrew/sorbet" + git commit -m "sorbet: update RBI files using Tapioca." -m "Autogenerated by [a scheduled GitHub Action](https://github.com/Homebrew/brew/blob/master/.github/workflows/tapioca.yml)." + echo "::set-output name=committed::true" fi - name: Push commits @@ -57,6 +55,7 @@ jobs: with: token: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }} branch: tapioca-update + force: true - name: Open a pull request if: steps.update.outputs.committed == 'true'