awesome-ipfs/.github/workflows/broken_link_cron.yml

83 lines
2.5 KiB
YAML
Raw Normal View History

name: Open a PR to remove broken links on a schedule
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
check-for-broken-links:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 13
- uses: ipfs/aegir/actions/cache-node-modules@master
with:
directories: |
README.md
build: |
npm run build:readme
cache_name: readme
- name: Set up Ruby 3.1.2
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1.2
- name: Install and run awesome_bot
run: |
gem install awesome_bot
awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md || echo
- name: Remove broken links
run: |
node scripts/remove-broken-links.js
- uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80
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
- name: pull-request
uses: repo-sync/pull-request@65785d95a5a466e46a9d0708933a3bd51bbf9dde
with:
source_branch: "remove-broken-links-${{ github.run_id }}"
destination_branch: "master"
pr_title: "chore: Remove broken links"
pr_body: "Automated PR created by .github/workflows/broken_link_cron.yml"
pr_label: "kind/maintenance"
pr_draft: false
pr_allow_empty: false
github_token: ${{ secrets.GITHUB_TOKEN }}