mirror of
https://github.com/ipfs/awesome-ipfs.git
synced 2024-10-01 01:35:37 -04:00
dd28c19ba7
* fix: broken-links workflow * fix: trim bash var * fix: string comparison * fix: github action if condition syntax * debugging * debugging: gh action showing 1 changed file.. what is it? * fix: only count changed data files for scheduled broken link PRs
91 lines
3.0 KiB
YAML
91 lines
3.0 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
|
|
id: remove-broken-links
|
|
run: |
|
|
node scripts/remove-broken-links.js
|
|
echo "Changed files:"
|
|
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"
|
|
|
|
- uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80
|
|
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
|
|
|
|
- name: pull-request
|
|
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 }}"
|
|
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 }}
|