Skip to content

Commit 5d5db64

Browse files
committed
Ensure stable release automation
1 parent 149ab61 commit 5d5db64

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

.github/workflows/release.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
# Workflow builds cross-platform binaries and publishes a GitHub release when commits include "stable release".
1+
# Workflow builds cross-platform binaries and publishes a GitHub release only when commits include "stable release".
22
# Keeping the matrix explicit makes future platform additions easy to reason about.
33
name: cross-platform-release
44

55
on:
66
push:
7-
branches:
8-
- main
9-
- master
10-
workflow_dispatch: {}
117

128
# Grant write access to release assets so publishing succeeds when the workflow
139
# tags a stable build. GitHub defaults to read-only tokens, which prevents
@@ -17,6 +13,7 @@ permissions:
1713

1814
jobs:
1915
build:
16+
# Run the pipeline only when the commit message explicitly signals a stable release.
2017
if: contains(github.event.head_commit.message, 'stable release')
2118
runs-on: ubuntu-latest
2219
strategy:
@@ -48,6 +45,7 @@ jobs:
4845
path: dist/chicha-ip-proxy-${{ matrix.goos }}-${{ matrix.goarch }}*
4946

5047
release:
48+
# Publish only when the commit declares a stable release to keep download links predictable.
5149
if: contains(github.event.head_commit.message, 'stable release')
5250
runs-on: ubuntu-latest
5351
needs: build
@@ -67,8 +65,9 @@ jobs:
6765
- name: Publish release
6866
uses: softprops/action-gh-release@v1
6967
with:
70-
tag_name: stable-${{ github.run_number }}
71-
name: Automated stable release
68+
tag_name: stable-release-${{ github.run_number }}
69+
name: Stable release ${{ github.run_number }}
70+
make_latest: true
7271
files: upload/chicha-ip-proxy-*
7372
env:
7473
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ curl -L https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/
3737

3838
👉 [https://github.com/matveynator/chicha-ip-proxy/releases/](https://github.com/matveynator/chicha-ip-proxy/releases/)
3939

40+
All binaries are uploaded to the latest stable release, so every script or wiki snippet that downloads from `/releases/latest/download/` always targets the freshest stable build.
41+
42+
## Stable release automation
43+
44+
* A GitHub Action publishes a new release only when the commit message contains the keyword **"stable release"**.
45+
* The release name always includes the word **stable**, keeping the `/latest` download link consistent for automation and wiki scripts.
46+
* Cross-platform builds are produced for macOS, Linux, Windows, FreeBSD, and OpenBSD on `amd64` and `arm64`.
47+
4048
---
4149

4250
## Quick Summary

0 commit comments

Comments
 (0)