Toolverse
Wszystkie skille

release-sidecar

autor: marcus

Zautomatyzuj wydania nowych wersji Go – od tagowania po aktualizację Homebrew

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
marcus
Kategoria
Testowanie
Wyświetlenia
1

O skillu

Skill do zarządzania wydaniami oprogramowania sidecar. Automatyzuje cały proces: weryfikację wersji semantycznej, aktualizację zależności, walidację go.mod, edycję CHANGELOG, uruchamianie GoReleasera i publikację w Homebrew. Zawiera kroki weryfikacji i ostrzeżenia przed typowymi błędami (np. go.work, replace directives). Użyj przed przygotowaniem lub wykonaniem wydania nowej wersji.

Jak używać

  1. Sprawdź wymagania wstępne: zainstaluj Go zgodnie z wersją w go.mod, upewnij się że repozytorium jest czyste (git status), wszystkie testy przechodzą (go test ./...), GitHub CLI jest uwierzytelniony, w go.mod nie ma replace directives, GoReleaser jest skonfigurowany, a sekret HOMEBREW_TAP_TOKEN istnieje w ustawieniach GitHub. Uważaj na go.work – może on ukrycie używać lokalne zależności zamiast opublikowanych wersji.
  2. Określ numer wersji zgodnie z semantic versioning: major (v2.0.0) dla zmian łamiących wsteczną kompatybilność, minor (v0.2.0) dla nowych funkcji, patch (v0.1.1) dla poprawek błędów. Sprawdź ostatni tag: git tag -l | sort -V | tail -1.
  3. Zaktualizuj zależność td: uruchom GOWORK=off go get github.com/marcus/td@latest, następnie GOWORK=off go mod tidy. Zweryfikuj go.mod – nie powinno być replace directives. Sprawdź budowanie: GOWORK=off go build ./...
  4. Edytuj CHANGELOG.md – dodaj sekcję z numerem wersji, datą, opisami nowych funkcji, poprawek i aktualizacji zależności. Zatwierdź zmianę: git add CHANGELOG.md && git commit -m "docs: Update changelog for vX.Y.Z".
  5. Utwórz i wypchnij tag Git z numerem wersji, a następnie uruchom GoReleaser do automatycznego budowania i publikacji artefaktów.
  6. Zweryfikuj wydanie: sprawdź czy artefakty są dostępne w GitHub Releases, czy Homebrew tap został zaktualizowany, i czy instalacja przez go install działa poprawnie.

Podobne skille