2021-01-12 17:11:42 +00:00
# Based on https://github.com/best-of-lists/best-of-update-action/blob/v0.6.1/workflows/update-best-of-list.yml
2021-01-08 14:46:28 +00:00
name : update - best - of - list
on :
workflow_dispatch :
inputs :
version :
description : " Version to use for this update "
required : false
schedule :
2021-01-12 17:11:42 +00:00
- cron : " 0 14 * * 4 " # Every thursday at 2pm
2021-01-08 14:46:28 +00:00
env :
BRANCH_PREFIX : " update/ "
DEFAULT_BRANCH : " main "
jobs :
update - best - of - list :
runs - on : ubuntu - latest
steps :
- if : $ { { github . event . inputs != null & & github . event . inputs . version != null } }
name : set - version - from - input
run : echo " VERSION=$ {{ github.event.inputs.version }} " >> $ GITHUB_ENV
- if : $ { { ! ( env . VERSION != null & & env . VERSION != ' ' ) } }
name : set - version - via - date
run : echo " VERSION=$(date ' + % Y. % m. %d ' ) " >> $ GITHUB_ENV
- uses : actions / checkout @v2
- name : check - version - tag
shell : bash
run : |
git fetch - - tags - - force
git show - ref - - tags - - verify - - quiet - - " refs/tags/$ {{ env.VERSION }} " & & echo " VERSION=$(date ' + % Y. % m. %d - % H. % M ' ) " >> $ GITHUB_ENV | | exit 0
- name : create - update - branch
uses : peterjgrainger / action - create - branch @v2 .0 .1
env :
GITHUB_TOKEN : $ { { secrets . GITHUB_TOKEN } }
with :
branch : " $ {{ env.BRANCH_PREFIX }}$ {{ env.VERSION }} "
- uses : actions / checkout @v2
with :
fetch - depth : 0
ref : $ { { env . BRANCH_PREFIX } } $ { { env . VERSION } }
token : $ { { secrets . GITHUB_TOKEN } }
env :
GITHUB_TOKEN : $ { { secrets . GITHUB_TOKEN } }
- name : update - best - of - list
2021-01-12 17:11:42 +00:00
uses : best - of - lists / best - of - update - action @v0 .6 .1
2021-01-08 14:46:28 +00:00
with :
libraries_key : $ { { secrets . LIBRARIES_KEY } }
github_key : $ { { secrets . GITHUB_TOKEN } }
- name : push - update
uses : stefanzweifel / git - auto - commit - action @v4
with :
branch : $ { { env . BRANCH_PREFIX } } $ { { env . VERSION } }
commit_user_name : best - of update
commit_user_email : actions @github.com
commit_message : Update best - of list for version $ { { env . VERSION } }
tagging_message : $ { { env . VERSION } }
skip_dirty_check : true
commit_options : " --allow-empty "
- name : create - pull - request
shell : bash
run : |
# Stops script execution if a command has an error
set - e
curl - fsSL https : / / github . com / github / hub / raw / master / script / get | bash - s 2.14 .2
bin / hub pull - request - b $ { { env . DEFAULT_BRANCH } } - h $ { { env . BRANCH_PREFIX } } $ { { env . VERSION } } - - no - edit - m " Best-of update: $ {{ env.VERSION }} " - m " To finish this update: Select <code>Merge pull request</code> below and <code>Confirm merge</code>. Also, make sure to publish the created draft release in the [releases section](../releases) as well. " | | true
rm bin / hub
env :
GITHUB_TOKEN : $ { { secrets . GITHUB_TOKEN } }
- name : create - release
uses : actions / create - release @v1
env :
GITHUB_TOKEN : $ { { secrets . GITHUB_TOKEN } }
with :
tag_name : $ { { env . VERSION } }
release_name : " Update: $ {{ env.VERSION }} "
body_path : " latest-changes.md "
draft : true
prerelease : false