Generate Sponsors To README workflow (qishibo/AnotherRedisDesktopManager)
The Generate Sponsors To README workflow from qishibo/AnotherRedisDesktopManager, explained and optimized by Latchkey.
CI health: B - good
Point runs-on at Latchkey and get job timeouts, SHA-pinned actions, self-healing for flaky steps, and up to 58% lower cost, applied automatically.
What it does
This is the Generate Sponsors To README workflow from the qishibo/AnotherRedisDesktopManager repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.
Below, Latchkey shows a faster, safer version produced by its optimization engine.
The workflow
name: Generate Sponsors To README
on:
workflow_dispatch
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Generate Sponsors
uses: JamesIves/github-sponsors-readme-action@v1
with:
token: ${{ secrets.PAT }}
file: 'README.md'
active-only: false,
template: '<a href="https://github.com/{{ login }}"><img src="https://images.weserv.nl/?h=120&w=120&mask=circle&url={{ avatarUrl }}" width="60px" alt="{{ name }}" /></a>'
- name: Generate Sponsors zh-CN
uses: JamesIves/github-sponsors-readme-action@v1
with:
token: ${{ secrets.PAT }}
file: 'README.zh-CN.md'
active-only: false,
template: '<a href="https://github.com/{{ login }}"><img src="https://images.weserv.nl/?h=120&w=120&mask=circle&url={{ avatarUrl }}" width="60px" alt="{{ name }}" /></a>'
- name: Commit To README
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: master
folder: '.'
The same workflow, on Latchkey
Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.
name: Generate Sponsors To README on: workflow_dispatch permissions: contents: write jobs: deploy: timeout-minutes: 30 runs-on: latchkey-small steps: - name: Checkout uses: actions/checkout@v2 - name: Generate Sponsors uses: JamesIves/github-sponsors-readme-action@v1 with: token: ${{ secrets.PAT }} file: 'README.md' active-only: false, template: '<a href="https://github.com/{{ login }}"><img src="https://images.weserv.nl/?h=120&w=120&mask=circle&url={{ avatarUrl }}" width="60px" alt="{{ name }}" /></a>' - name: Generate Sponsors zh-CN uses: JamesIves/github-sponsors-readme-action@v1 with: token: ${{ secrets.PAT }} file: 'README.zh-CN.md' active-only: false, template: '<a href="https://github.com/{{ login }}"><img src="https://images.weserv.nl/?h=120&w=120&mask=circle&url={{ avatarUrl }}" width="60px" alt="{{ name }}" /></a>' - name: Commit To README uses: JamesIves/github-pages-deploy-action@v4 with: branch: master folder: '.'
What changed
- Run on Latchkey managed runners with one line (
runs-on), which apply the fixes below automatically and self-heal transient failures. This example useslatchkey-small; pick the runner size that fits the job. - Add a job timeout so a hung step cannot burn hours of runner time.
2 third-party actions are referenced by a movable tag. Pin them to the commit SHA (Latchkey resolves and applies this automatically) so a repointed tag cannot change what runs.
This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.