From 2f2d2236a2b967a16333f1fc85da10ed4bbba053 Mon Sep 17 00:00:00 2001 From: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com> Date: Fri, 16 Sep 2022 12:39:16 -0700 Subject: [PATCH] feat: ensure broken_link_cron.yml opens PR (#434) * test: add invalid entry to data/apps.yaml * debug: git-auto-commit-action should run since there are modified files * fix: output variable name * fix: workflow permissions * debugging * debugging more * debugging more * debugging even more * fix: remove pull action for add-and-commit * fix: use ipfs-gui-bot token permissions * chore: Remove broken links (#435) Co-authored-by: ipfs-gui-bot <108953096+ipfs-gui-bot@users.noreply.github.com> * chore: cleanup Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: ipfs-gui-bot <108953096+ipfs-gui-bot@users.noreply.github.com> --- .github/workflows/broken_link_cron.yml | 60 +++++++++++++------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/.github/workflows/broken_link_cron.yml b/.github/workflows/broken_link_cron.yml index 1ab627b..c7a1d9a 100644 --- a/.github/workflows/broken_link_cron.yml +++ b/.github/workflows/broken_link_cron.yml @@ -5,15 +5,20 @@ on: schedule: - cron: '0 0 * * *' +permissions: + issues: write + pull-requests: write + jobs: check-for-broken-links: runs-on: ubuntu-latest permissions: - issues: write pull-requests: write steps: - uses: actions/checkout@v3 + with: + token: ${{ secrets.REMOVE_BROKEN_LINKS_GH_TOKEN }} - uses: actions/setup-node@v3 with: @@ -32,7 +37,19 @@ jobs: with: ruby-version: 3.1.2 + # Cache the files created by awesome_bot + - name: Cache awesome_bot files + uses: actions/cache@v3 + id: awesome_bot_cache + with: + path: | + ab-results-README.md-filtered.json + ab-results-README.md-markdown-table.json + ab-results-README.md.json + key: ${{ runner.os }}-awesome_bot-${{ hashFiles('README.md') }} + - name: Install and run awesome_bot + if: steps.awesome_bot_cache.outputs.cache-hit != 'true' run: | gem install awesome_bot awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md || echo @@ -45,42 +62,23 @@ jobs: git ls-files -m changed_data_files_count=$(git ls-files -m data | wc -l | tr -d ' ') echo "changed_data_files_count='$changed_data_files_count'" - echo "::set-output name=changed_files::$changed_data_files_count" + echo "::set-output name=changed_data_files_count::$changed_data_files_count" - - uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80 - if: steps.remove-broken-links.outputs.changed_data_files_count > 0 + - uses: EndBug/add-and-commit@d4d066316a2a85974a05efb42be78f897793c6d9 # v9.1.0 - https://github.com/EndBug/add-and-commit/commit/d4d066316a2a85974a05efb42be78f897793c6d9 + if: steps.remove-broken-links.outputs.changed_data_files_count != 0 with: - # Optional. Commit message for the created commit. - # Defaults to "Apply automatic changes" - commit_message: "chore: Remove broken links" - - # Optional. Local and remote branch name where commit is going to be pushed - # to. Defaults to the current branch. - # You might need to set `create_branch: true` if the branch does not exist. - branch: remove-broken-links-${{ github.run_id }} - - commit_options: '--no-verify --signoff' - - # Optional glob pattern of files which should be added to the commit - # Defaults to all (.) - # See the `pathspec`-documentation for git - # - https://git-scm.com/docs/git-add#Documentation/git-add.txt-ltpathspecgt82308203 - # - https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefpathspecapathspec - file_pattern: data/* - repository: . - add_options: '-A' - push_options: '--force' - skip_dirty_check: true - skip_fetch: true - skip_checkout: true - disable_globbing: true - create_branch: true + add: 'data' + new_branch: remove-broken-links + message: 'chore: Remove broken links' + push: 'origin remove-broken-links --set-upstream --force' + author_name: 'ipfs-gui-bot' + author_email: '108953096+ipfs-gui-bot@users.noreply.github.com' - name: pull-request - if: steps.remove-broken-links.outputs.changed_data_files_count > 0 + if: steps.remove-broken-links.outputs.changed_data_files_count != 0 uses: repo-sync/pull-request@65785d95a5a466e46a9d0708933a3bd51bbf9dde with: - source_branch: "remove-broken-links-${{ github.run_id }}" + source_branch: "remove-broken-links" destination_branch: "master" pr_title: "chore: Remove broken links" pr_body: "Automated PR created by .github/workflows/broken_link_cron.yml"