You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(release): add release automation and workflows
- Introduced release automation process in README.md.
- Added GitHub Actions workflows for building binaries, creating draft releases, and publishing Docker images.
- Implemented version management with bump2version.
- Updated root command to include version information.
Copy file name to clipboardExpand all lines: README.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -163,6 +163,31 @@ go run ./cmd/linktransfer send --help
163
163
go run ./cmd/linktransfer recv --help
164
164
```
165
165
166
+
## Release Automation
167
+
168
+
This repository follows the same broad release flow as the in-tree linksocks reference:
169
+
170
+
1. Update the version in [internal/linktransfer/version.go](internal/linktransfer/version.go) with `bump2version`.
171
+
2. Push the generated version commit and `v*` tag.
172
+
3. GitHub Actions creates a draft release from that tag.
173
+
4. Publishing the draft release triggers binary builds and Docker image publishing.
174
+
175
+
Example version bump:
176
+
177
+
```bash
178
+
python -m pip install bump2version
179
+
bump2version patch
180
+
git push --follow-tags
181
+
```
182
+
183
+
Release workflows live under [.github/workflows/build.yml](.github/workflows/build.yml), [.github/workflows/create-draft.yml](.github/workflows/create-draft.yml), and [.github/workflows/docker.yml](.github/workflows/docker.yml).
184
+
185
+
Docker publishing expects these repository settings:
186
+
187
+
-`DOCKERHUB_USERNAME` and `DOCKERHUB_TOKEN` secrets for Docker Hub pushes.
188
+
- Optional `DOCKERHUB_IMAGE` repository variable if the Docker Hub image name should differ from `${{ github.repository_owner }}/linktransfer`.
189
+
-`GITHUB_TOKEN` is used for pushes to `ghcr.io/<owner>/linktransfer`.
190
+
166
191
## Repository Layout
167
192
168
193
-`cmd/linktransfer`: source entrypoint for running from the repository.
0 commit comments