awesome-ipfs/.github/workflows/broken_link_cron.yml
Russell Dempsey 6d5eef146a
feat: more automated awesome-ipfs PRs (#429)
* chore: ignore files created by awesome_bot

* feat: auto-update README.md when PRs are created

* feat: use danger to post awesome_bot results on PRs

* chore: wut

* Update pull_requests.yml

* chore: fake-test

* adjust branch used by github-push-action

* chore: ensure checkout uses the branch

* chore: update README.md

* chore: modify dangerfile and workflow ordering

* remove fake addition to videos.yaml

* chore: update README.md

* chore: rename pull_requests.yml

* temp: always display awesomeBot results

* Revert "temp: always display awesomeBot results"

This reverts commit acaef1f4f27cbde2e53c5ec8f1b812ec78e6f81c.

* chore(deps): install danger as devDep

* feat: cache node_modules and readme

* Update pull_requests.yml

* chore: remove ad-m/github-push-action

see https://github.com/ad-m/github-push-action/issues/104

* tmp: PR-demo

* Rebuild

* Revert "tmp: PR-demo"

This reverts commit 8bed1326f0f3c377f86464aace5f8d26d7c4b69b.

* Rebuild

* fix: no need to push readme update

* fix: no need to push readme update

readme is updated during 'Rebuild' commit from data.yml

* chore: run danger via npm script instead of npx

* feat: remove replace circleci cron with github action

this github action should open a PR removing broken links automatically

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2022-09-15 16:41:35 -07:00

83 lines
2.5 KiB
YAML

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 }}