name: Update maintainers, manpage and completions on: push: paths: - .github/workflows/update-man-completions.yml - README.md - Library/Homebrew/cmd/** - Library/Homebrew/dev-cmd/** - Library/Homebrew/completions/** - Library/Homebrew/manpages/** - Library/Homebrew/cli/parser.rb - Library/Homebrew/completions.rb - Library/Homebrew/env_config.rb branches: - master schedule: - cron: "0 0 * * *" workflow_dispatch: jobs: update-manpage: runs-on: ubuntu-latest if: github.repository == 'Homebrew/brew' steps: - name: Setup Homebrew uses: Homebrew/actions/setup-homebrew@master - name: Configure Git user uses: Homebrew/actions/git-user-config@master with: username: BrewTestBot - name: Set up commit signing uses: Homebrew/actions/setup-commit-signing@master with: signing_key: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY }} - name: Update maintainers, manpage and completions id: update run: | git fetch origin BRANCH=update-man-completions echo "::set-output name=branch::${BRANCH}" if git ls-remote --exit-code --heads origin "${BRANCH}" then git checkout "${BRANCH}" git reset --hard origin/master else git checkout --no-track -B "${BRANCH}" origin/master fi if [[ "${{github.event_name}}" != "push" ]] then brew update-maintainers fi if brew generate-man-completions --fail-if-not-changed then git add "${GITHUB_WORKSPACE}/README.md" \ "${GITHUB_WORKSPACE}/docs/Manpage.md" \ "${GITHUB_WORKSPACE}/manpages/brew.1" \ "${GITHUB_WORKSPACE}/completions" git commit -m "Update maintainers, manpage and completions." \ -m "Autogenerated by the [update-man-completions](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/update-man-completions.yml) workflow." echo "::set-output name=committed::true" PULL_REQUEST_STATE="$(gh pr view --json=state | jq -r ".state")" if [[ "${PULL_REQUEST_STATE}" != "OPEN" ]] then echo "::set-output name=pull_request::true" fi fi env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }} HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_BREW_UPDATE_MAINTAINERS_TOKEN }} HOMEBREW_GPG_PASSPHRASE: ${{ secrets.BREWTESTBOT_GPG_SIGNING_SUBKEY_PASSPHRASE }} - name: Push commits if: steps.update.outputs.committed == 'true' uses: Homebrew/actions/git-try-push@master with: token: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }} branch: ${{ steps.update.outputs.branch }} force: true origin_branch: "master" - name: Open a pull request if: steps.update.outputs.pull_request == 'true' run: hub pull-request --no-edit env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }}