GitHub Release: Auto-created with generated release notes, marked as prerelease if beta
Docker Hub Tags After Release
Release Type
Tags Applied
v3.3.2 (stable)
3.3.2, 3.3, latest, stable
v3.3.2-beta.1
3.3.2-beta.1, beta
Updating on unRAID
After GitHub Actions completes:
# SSH to your deployment server
ssh root@<server-ip>
# Pull new image
docker pull carrotwaxr/peek-stash-browser:latest # or :beta
# Restart container via unRAID WebGUI or CLI
docker stop peek-stash-browser && docker start peek-stash-browser
Semantic Versioning Guide
Patch (3.3.X): Bug fixes, minor tweaks, no new features
Minor (3.X.0): New features, backward-compatible changes
Major (X.0.0): Breaking changes (rare — major UI overhauls, API changes)
1---2name: release-workflow-43description: Use when preparing or executing a release of peek-stash-browser. Covers the full release lifecycle from validation through Docker image publishing.4---56# Release Workflow
78## Overview
910Releases are triggered by pushing git tags. GitHub Actions builds and publishes Docker images automatically.
1112```
13Pre-release validation → Version bump → Commit → Tag → Push → GitHub Actions → Docker Hub
14```
1516## Version Scheme
1718- **Stable**: `X.Y.Z` (e.g., `3.3.1`)
19- **Beta**: `X.Y.Z-beta.N` (e.g., `3.3.2-beta.1`)
20- **Tag format**: `vX.Y.Z` or `vX.Y.Z-beta.N`
2122Both `client/package.json` and `server/package.json` must always have identical versions.
2324## Step 1: Pre-Release Validation
2526Run `/pre-release` to execute all checks:
27281. Server unit tests: `cd server && npm test`
292. Server linting: `cd server && npm run lint`
303. Client unit tests: `cd client && npm test`
314. Client linting: `cd client && npm run lint`
325. Integration tests: `cd server && npm run test:integration`
336. Client build: `cd client && npm run build`
347. Docker production build: `docker build -f Dockerfile.production -t peek:test .`
3536All 7 checks must pass before proceeding.
3738## Step 2: Version Bump & Tag
3940### Beta Release
4142Run `/release-beta`:
4344- Increment beta number: `3.3.2-beta.1` → `3.3.2-beta.2`
45- Or start new beta: `3.3.1` → `3.3.2-beta.1`
4647### Stable Release
4849Run `/release-stable`:
5051- Remove beta suffix: `3.3.2-beta.8` → `3.3.2`
52- Or increment: `3.3.2` → `3.3.3` or `3.4.0`
5354### What the Release Skills Do
55561. Verify on `main` branch and up to date
572. Update version in `client/package.json` and `server/package.json`
583. Commit: `chore: bump version to X.Y.Z`
594. Push commit to main
605. Create tag: `git tag vX.Y.Z`
616. Push tag: `git push origin vX.Y.Z`
6263## Step 3: Automated CI/CD
6465GitHub Actions (`.github/workflows/docker-build.yml`) triggers on `v*` tags:
66671. **Build**: Multi-stage Dockerfile.production (frontend → backend → runtime)
682. **Platforms**: `linux/amd64` + `linux/arm64`
693. **Push to Docker Hub**: `carrotwaxr/peek-stash-browser`
704. **Tag strategy**:
71 - Semver: `3.3.2`
72 - Major.minor: `3.3`
73 - `latest` (stable releases only)
74 - `stable` (stable releases only)
75 - `beta` (beta releases only)
765. **GitHub Release**: Auto-created with generated release notes, marked as prerelease if beta
7778## Docker Hub Tags After Release
7980| Release Type | Tags Applied |
81|-------------|-------------|
82| `v3.3.2` (stable) | `3.3.2`, `3.3`, `latest`, `stable` |
83| `v3.3.2-beta.1` | `3.3.2-beta.1`, `beta` |
8485## Updating on unRAID
8687After GitHub Actions completes:
8889```bash
90# SSH to your deployment server
91ssh root@<server-ip>
9293# Pull new image
94docker pull carrotwaxr/peek-stash-browser:latest # or :beta
9596# Restart container via unRAID WebGUI or CLI
97docker stop peek-stash-browser && docker start peek-stash-browser
98```
99100## Semantic Versioning Guide
101102- **Patch** (3.3.X): Bug fixes, minor tweaks, no new features
103- **Minor** (3.X.0): New features, backward-compatible changes
104- **Major** (X.0.0): Breaking changes (rare — major UI overhauls, API changes)
Run npx skillmds add majiayu000/release-workflow-4 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Use when preparing or executing a release of peek-stash-browser. Covers the full release lifecycle from validation through Docker image publishing. It is listed under DevOps & Infra on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
majiayu000 (@majiayu000) published this skill. Their other Agent Skills are listed on their SkillMD profile.