forked from ipfs/awesome-ipfs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: more automated awesome-ipfs PRs (ipfs#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 acaef1f. * chore(deps): install danger as devDep * feat: cache node_modules and readme * Update pull_requests.yml * chore: remove ad-m/github-push-action see ad-m/github-push-action#104 * tmp: PR-demo * Rebuild * Revert "tmp: PR-demo" This reverts commit 8bed132. * 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>
- Loading branch information
1 parent
dca42f2
commit 6d5eef1
Showing
8 changed files
with
12,000 additions
and
75 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
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 }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
|
||
name: Pull request workflow | ||
|
||
on: | ||
pull_request: | ||
types: [ opened, synchronize, reopened ] | ||
branches: [ master, main ] | ||
|
||
jobs: | ||
# Run linting and tests | ||
build-and-lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v1 | ||
with: | ||
node-version: 13 | ||
- uses: ipfs/aegir/actions/cache-node-modules@master | ||
with: | ||
directories: | | ||
README.md | ||
build: | | ||
npm run build:readme | ||
cache_name: readme | ||
# aegir/actions/cache-node-modules runs build. We don't need to run it again. | ||
- run: npm run lint | ||
|
||
run-danger: | ||
runs-on: ubuntu-latest | ||
needs: build-and-lint | ||
if: "!contains(github.event.head_commit.message, '[skip ci]')" | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.event.pull_request.head.ref }} | ||
- name: Setup Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 13 | ||
- name: Set up Ruby 3.1.2 | ||
uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: 3.1.2 | ||
- uses: ipfs/aegir/actions/cache-node-modules@master | ||
with: | ||
directories: | | ||
README.md | ||
build: | | ||
npm run build:readme | ||
cache_name: readme | ||
- name: Install and run awesome_bot | ||
# It's okay for awesome_bot to fail. Danger will post a comment on the PR if it fails. | ||
run: | | ||
gem install awesome_bot | ||
awesome_bot --allow 429 --allow-redirect --allow-dupe --allow-ssl -w ipfs.io README.md || echo | ||
- name: Run danger | ||
run: npm run ci:danger | ||
env: | ||
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
const { danger, markdown, fail, warn, message } = require('danger') | ||
const awesomeBotResults = require('./ab-results-README.md-markdown-table.json') | ||
|
||
const githubMetadata = danger.git.fileMatch('.github/**') | ||
const yamlData = danger.git.fileMatch('data/**') | ||
const scripts = danger.git.fileMatch('scripts/**') | ||
const src = danger.git.fileMatch('src/**') | ||
|
||
if (githubMetadata.edited) { | ||
message('Changes were made within the .github folder.') | ||
} | ||
|
||
if (yamlData.edited) { | ||
message('YAML data files were edited.') | ||
/** | ||
* Only display awesomeBot results if the data yaml used to generate the readme have been modified. | ||
*/ | ||
if (awesomeBotResults.error) { | ||
fail(awesomeBotResults.title) | ||
markdown(awesomeBotResults.message) | ||
} | ||
} | ||
|
||
if (scripts.edited) { | ||
warn('Changes were made to the scripts folder.') | ||
} | ||
|
||
if (src.edited) { | ||
warn('Changes were made to the src folder.') | ||
} |
Oops, something went wrong.