emoji-cheat-sheet/.github/workflows/update.yml

54 lines
1.8 KiB
YAML
Raw Normal View History

2020-07-07 21:50:29 +08:00
name: Up to Date
on:
schedule:
- cron: "0 0 * * *"
jobs:
update:
name: Update
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v2-beta
with:
node-version: "12"
- name: Install Dependencies
run: yarn
- name: Generate Cheat Sheet
run: yarn generate
- name: Push New Cheat Sheet to Updated Branch
run: |
git diff --name-only --exit-code && exit 0
git add README.md
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git commit -m "docs(readme): update emoji-cheat-sheet"
git push -qf "https://${{ secrets.GITHUB_TOKEN }}@github.com/ikatyang/emoji-cheat-sheet.git" HEAD:github-actions-auto-update
- name: Create PR from Updated Branch
uses: actions/github-script@v2
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const {owner, repo} = context.repo
const branch = 'github-actions-auto-update'
2021-10-17 11:58:07 +08:00
const head = `${owner}:${branch}`
2020-07-09 22:18:09 +08:00
const title = 'docs(readme): update emoji-cheat-sheet'
const branchesResult = await github.repos.listBranches({ owner, repo })
if (branchesResult.status !== 200 || !branchesResult.data.find(({ name }) => name === branch)) {
2020-07-07 21:50:29 +08:00
return
}
2021-10-17 11:58:07 +08:00
const prsResult = await github.pulls.list({ owner, repo, head, state: 'open' })
2020-07-09 22:18:09 +08:00
if (prsResult.status === 200 && prsResult.data.length === 0) {
2021-10-17 11:58:07 +08:00
await github.pulls.create({ owner, repo, head, title, base: 'master' })
2020-07-07 21:50:29 +08:00
}