Przejdź do treści
Biblioteka skilli
DevOps i chmura · Automatyzacja

do-deploy

/do-deploy

Wdraża popoto: uruchamia testy, podbija wersję, taguje wydanie, publikuje w PyPI i wdraża dokumentację.

Repozytorium
popoto ↗
Licencja
MIT
Ostatnia zmiana repozytorium
16.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 16.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Wdraża popoto: uruchamia testy, podbija wersję, taguje wydanie, publikuje w PyPI i wdraża dokumentację.

Wyzwalacze z opisu

deploydo-deploy

Argumenty

/do-deploy <bump-type: patch|minor|major> (default: minor)
Oryginalny opis (EN)

Deploy popoto: run tests, bump version, tag release, publish to PyPI, deploy docs. Triggered by 'deploy', 'do-deploy', or any request to publish a new version.

Jak działa

  1. How releases work
  2. Instructions
  3. Troubleshooting
Sekcje z nagłówków SKILL.md, w oryginale · 130 linii, 472 słów
Podgląd SKILL.md
---
name: do-deploy
description: "Deploy popoto: run tests, bump version, tag release, publish to PyPI, deploy docs. Triggered by 'deploy', 'do-deploy', or any request to publish a new version."
argument-hint: "<bump-type: patch|minor|major> (default: minor)"
---

# Deploy

Release a new version of popoto to PyPI and deploy documentation.

## How releases work

- Version is bumped manually in `pyproject.toml` and `setup.cfg`
- A release branch + PR is created and merged
- Pushing a `v*` tag triggers `release.yml` which publishes to PyPI via OIDC
- Docs are deployed to GitHub Pages via mkdocs

## Instructions

### Step 0: Determine bump type

Use `$ARGUMENTS` if provided (`patch`, `minor`, or `major`). Default to `minor` if empty.

### Step 1: Pre-flight checks

```bash
cd ~/src/popoto

# Must be on main
BRANCH=$(git branch --show-current)
if [ "$BRANCH" != "main" ]; then
  echo "ERROR: Must be on main branch (currently on $BRANCH)"
  exit 1
fi

# Must be clean
if [ -n "$(git status --porcelain)" ]; then
  echo "ERROR: Working tree has uncommitted changes"
  exit 1
fi

# Pull latest
git pull origin main
```

Abort if any check fails.

### Step 2: Run tests

```bash
cd ~/src/popoto && pytest
```

Abort if any tests fail. Do not proceed with a broken test suite.

### Step 3: Calculate new version

Read current version from `pyproject.toml` (`version` field under `[project]`).

Calculate new version:
- `patch`: 1.4.0 → 1.4.1
- `minor`: 1.4.0 → 1.5.0
- `major`: 1.4.0 → 2.0.0

Confirm the new version with the user before proceeding.

### Step 4: Update version files

Update the version in both:
- `pyproject.toml`: the `version` field under `[project]`
- `setup.cfg`: the `version` field under `[metadata]`

### Step 5: Create release branch and PR

```bash
cd ~/src/popoto
git checkout -b release/v{new_version}
git add pyproject.toml setup.cfg
git commit -m "Bump version to {new_version}"
git push origin release/v{new_version}
gh pr create --title "Release v{new_version}" --body "Bump version to {new_version}"
```

### Step 6: Merge, tag, and push

```bash
gh pr merge --merge
git checkout main
git pull origin main
git tag v{new_version}
git push origin v{new_version}
```

The tag push triggers the `release.yml` GitHub Actions workflow, which builds and publishes to PyPI via OIDC trusted publishing.

### Step 7: Create GitHub release

```bash
gh release create v{new_version} --title "v{new_version}" --generate-notes
```

### Step 8: Deploy documentation

```bash
cd ~/src/popoto
python -m mkdocs build --strict
python -m mkdocs gh-deploy --force
```

If mkdocs is not installed: `uv pip install mkdocs`

### Step 9: Verify

1. Check the GitHub Actions release workflow: `gh run list --limit 1`
2. Report the new version, PyPI publish status, and docs URL (https://popoto.io/)

## Troubleshooting

### PyPI publish fails
Check the GitHub Actions run: `gh run view --log-failed`
Common issues: OIDC token permissions, build errors.

### Docs deploy fails
```bash
python -m mkdocs build --strict  # Check for errors first
uv pip install mkdocs            # Reinstall if needed
```

### Need to roll back a release
```bash
git tag -d v{version}
git push origin :refs/tags/v{version}
```
Then yank the version on PyPI if already published.

Wersje

W bazie nie ma innych skilli o nazwie do-deploy.

Migawka bazy z 28.10.2026 · wersja paczki 3e870a62176f (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100release
    Wydaje atomic-agents do PyPI i GitHuba: podbija wersję, tworzy release i publikuje na żądanie.
  • 100release
    Przygotowuje wydanie pyhubblenetwork: podbija wersję, generuje notatki z commitów i wypycha tag uruchamiający PyPI.
  • 100release
    Prowadzi wydanie logzip: podbija wersję, taguje i uruchamia publikację w PyPI oraz crates.io.
  • 100release
    Automatyzuje wydanie pySigma: analizuje zmiany, ustala wersję, taguje, czeka na test PyPI i tworzy release na GitHubie.
  • 100ship
    Przeprowadza wydanie od początku do końca: podbija wersję wszędzie, pisze changelog i dokumentację, taguje, publikuje na PyPI i npm.
  • 100release
    Prowadzi wydanie pakietu do PyPI krok po kroku, od zmian po publikację.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.