bump

SkillMedia

Version bump checklists for Go and container images.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the bump skill

What this skill tells your AI

The instructions your AI receives, as published by memospot/memos-builds in .agents/skills/bump/SKILL.md and read by ahel’s review.

Go bump

  1. Get upstream Go version:

    curl -s "https://raw.githubusercontent.com/usememos/memos/refs/heads/main/go.mod" | head -n 4 | grep go
    

    Match the go X.Y.Z line — that's the target.

  2. Get latest Go alpine image:

    curl -s "https://hub.docker.com/v2/repositories/library/golang/tags?page_size=100" | jq -r '.results[] | select(.name | test("^[0-9]+\\.[0-9]+\\.[0-9]+-alpine$")) | .name' | sort -V | tail -n 1
    

    The image may not yet match the upstream Go version — use upstream as source of truth.

  3. Update .dagger/buildconsts/consts.go:

    • GO_VERSION = "X.Y.Z"
    • GOLANG_BUILD_IMAGE = "golang:X.Y.Z-alpine"
  4. Sync Go workspace:

    just tidy X.Y.Z
    
  5. Commit:

    git commit -s -m "chore: bump to go <major.minor>"
    

    Example: chore: bump to go 1.26

Container images bump

  1. Get latest versions:

    # Alpine
    curl -s "https://hub.docker.com/v2/repositories/library/alpine/tags?page_size=100" | jq -r '.results[] | select(.name | test("^[0-9]+\\.[0-9]+(\\.[0-9]+)*$")) | .name' | sort -V | tail -n 1
    
    # BusyBox
    curl -s "https://hub.docker.com/v2/repositories/arm32v5/busybox/tags?page_size=100" | jq -r '.results[] | select(.name | test("^[0-9]+\\.[0-9]+(\\.[0-9]+)*-glibc$")) | .name' | sort -V | tail -n 1
    
    # buf
    curl -s "https://hub.docker.com/v2/repositories/bufbuild/buf/tags?page_size=100" | jq -r '.results[] | select(.name | test("^[0-9]+\\.[0-9]+(\\.[0-9]+)*$")) | .name' | sort -V | tail -n 1
    
    # Node (major only)
    curl -s "https://raw.githubusercontent.com/usememos/memos/refs/heads/main/web/package.json" | jq -r '.engines.node | capture("=\\s*(?<v>[0-9]+)") | .v'
    
  2. Update .dagger/buildconsts/consts.go:

    • PRIMARY_IMAGE = "alpine:X.Y.Z"
    • ALTERNATE_IMAGE = "arm32v5/busybox:X.Y.Z-glibc"
    • BUF_IMAGE = "bufbuild/buf:X.Y.Z"
    • NODE_IMAGE = "node:X-alpine"

Signals

GitHub stars
49
Forks
7
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bump-memospot
Source
github.com/memospot/memos-builds