on: # run automatically every 2 hours schedule: -cron:"0 */2 * * *" # allows to manually run the job at any time workflow_dispatch: # run on every push on the master branch push: branches: -master
jobs: generate: permissions: contents:write runs-on:ubuntu-latest timeout-minutes:5 steps: # generates a snake game from a github user (<github_user_name>) contributions graph, output a svg animation at <svg_out_path> -name:generategithub-contribution-grid-snake.svg uses:Platane/snk/svg-only@v3 with: github_user_name:${{github.repository_owner}} outputs:| dist/github-contribution-grid-snake.svg dist/github-contribution-grid-snake-dark.svg?palette=github-dark # push the content of <build_dir> to a branch # the content will be available at https://raw.githubusercontent.com/<github_user>/<repository>/<target_branch>/<file> , or as github page -name:pushgithub-contribution-grid-snake.svgtotheoutputbranch uses:crazy-max/[email protected] with: target_branch:output build_dir:dist env: GITHUB_TOKEN:${{secrets.GITHUB_TOKEN}}
这个 workflow 的作用是每隔 2
个小时执行一次,在仓库中生成一个贪吃蛇的 svg 动画
刚创建完 workflow 我们可以先手动执行一次,点击
generate animation -> Run workflow -> Run workflow
即可手动执行
name:Latestblogpostworkflow on: schedule:# Run workflow automatically -cron:'0 */2 * * *'# Runs every hour, on the hour workflow_dispatch:# Run workflow manually (without waiting for the cron to be called), through the GitHub Actions Workflow page directly permissions: contents:write# To write the generated contents to the readme