Skip to content
Latchkey

Docker Hub Description workflow (yuzutech/kroki)

The Docker Hub Description workflow from yuzutech/kroki, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get run de-duplication, job timeouts, SHA-pinned actions, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: yuzutech/kroki.github/workflows/dockerhub-description.ymlLicense MITView source

What it does

This is the Docker Hub Description workflow from the yuzutech/kroki 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

workflow (.yml)
name: Docker Hub Description
on:
  workflow_dispatch:
  push:
    tags:
      - 'v*'
      - .github/workflows/dockerhub-description.yml
jobs:
  docker-hub-description:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6.0.3

      - name: Docker Hub Description
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki
          short-description: ${{ github.event.repository.description }}
          readme-filepath: ./DOCKERHUB.md

      - name: Docker Hub Description - bpmn
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-bpmn
          short-description: Companion server for Kroki that provides BPMN
          readme-filepath: ./DOCKERHUB-COMPANION.md

      - name: Docker Hub Description - excalidraw
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-excalidraw
          short-description: Companion server for Kroki that provides Excalidraw
          readme-filepath: ./DOCKERHUB-COMPANION.md

      - name: Docker Hub Description - mermaid
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-mermaid
          short-description: Companion server for Kroki that provides Mermaid
          readme-filepath: ./DOCKERHUB-COMPANION.md

      - name: Docker Hub Description - diagramsnet
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-diagramsnet
          short-description: Companion server for Kroki that provides diagrams.net (formerly draw.io)
          readme-filepath: ./DOCKERHUB-COMPANION.md

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

name: Docker Hub Description
on:
  workflow_dispatch:
  push:
    tags:
      - 'v*'
      - .github/workflows/dockerhub-description.yml
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  docker-hub-description:
    timeout-minutes: 30
    runs-on: latchkey-small
    steps:
      - uses: actions/checkout@v6.0.3
 
      - name: Docker Hub Description
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki
          short-description: ${{ github.event.repository.description }}
          readme-filepath: ./DOCKERHUB.md
 
      - name: Docker Hub Description - bpmn
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-bpmn
          short-description: Companion server for Kroki that provides BPMN
          readme-filepath: ./DOCKERHUB-COMPANION.md
 
      - name: Docker Hub Description - excalidraw
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-excalidraw
          short-description: Companion server for Kroki that provides Excalidraw
          readme-filepath: ./DOCKERHUB-COMPANION.md
 
      - name: Docker Hub Description - mermaid
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-mermaid
          short-description: Companion server for Kroki that provides Mermaid
          readme-filepath: ./DOCKERHUB-COMPANION.md
 
      - name: Docker Hub Description - diagramsnet
        uses: peter-evans/dockerhub-description@v5.0.0
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
          repository: yuzutech/kroki-diagramsnet
          short-description: Companion server for Kroki that provides diagrams.net (formerly draw.io)
          readme-filepath: ./DOCKERHUB-COMPANION.md
 
 

What changed

1 third-party action is referenced by a movable tag. Pin it 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.

Actions used in this workflow