Skip to content

Commit 7a2f2e1

Browse files
committed
Prepare v0.1.1 draft release
1 parent 2f0bec3 commit 7a2f2e1

9 files changed

Lines changed: 34 additions & 17 deletions

File tree

.github/workflows/release.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ on:
1111
description: Exact 40-character commit SHA to release.
1212
required: true
1313
type: string
14+
publish:
15+
description: Publish the release after assets are verified. Leave false to prepare a draft.
16+
required: true
17+
default: false
18+
type: boolean
1419

1520
permissions:
1621
contents: read
@@ -148,7 +153,7 @@ jobs:
148153
vcpkg-triplet: ${{ matrix.vcpkg_triplet }}
149154

150155
publish:
151-
name: Publish immutable release
156+
name: Create release
152157
needs:
153158
- validate
154159
- build-binaries
@@ -162,7 +167,7 @@ jobs:
162167
with:
163168
path: release-assets
164169

165-
- name: Create draft, attach assets, and publish
170+
- name: Create draft, attach assets, and maybe publish
166171
shell: bash
167172
env:
168173
GH_TOKEN: ${{ github.token }}
@@ -171,6 +176,7 @@ jobs:
171176
172177
version="${{ needs.validate.outputs.version }}"
173178
target="${{ needs.validate.outputs.target }}"
179+
publish="${{ inputs.publish }}"
174180
artifacts=(
175181
slipstream-macos-arm64
176182
slipstream-macos-x86_64
@@ -228,6 +234,11 @@ jobs:
228234
fi
229235
done
230236
237+
if [[ "${publish}" != "true" ]]; then
238+
echo "Draft release ${version} is prepared with all required assets."
239+
exit 0
240+
fi
241+
231242
gh release edit "${version}" --repo "${GITHUB_REPOSITORY}" --draft=false
232243
233244
immutable="$(gh api "repos/${GITHUB_REPOSITORY}/releases/tags/${version}" -H X-GitHub-Api-Version:2026-03-10 --jq '.immutable')"

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,9 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## v0.1.1 - 2026-05-20
6+
- Add CI-built Linux, macOS, and Windows binary release archives with checksums.
7+
- Add a GitHub Actions release workflow that prepares asset-backed draft releases.
8+
59
## v0.1.0 - 2026-05-20
610
- Initial public release.

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/slipstream-client/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "slipstream-client"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
edition = "2021"
55
description = "Slipstream DNS tunnel client CLI"
66
license = "Apache-2.0"

crates/slipstream-core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "slipstream-core"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
edition = "2021"
55
description = "Core utilities for Slipstream"
66
license = "Apache-2.0"

crates/slipstream-dns/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "slipstream-dns"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
edition = "2021"
55
description = "DNS codec for Slipstream's QUIC-over-DNS tunnel"
66
license = "Apache-2.0"

crates/slipstream-ffi/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "slipstream-ffi"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
edition = "2021"
55
description = "FFI bindings and runtime helpers for picoquic in Slipstream"
66
license = "Apache-2.0"

crates/slipstream-server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "slipstream-server"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
edition = "2021"
55
description = "Slipstream DNS tunnel server CLI"
66
license = "Apache-2.0"

docs/release.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,20 @@ manually for a published release.
6464
gh workflow run release.yml \
6565
--repo Mygod/slipstream-rust \
6666
-f version=vX.Y.Z \
67-
-f target=COMMIT_SHA
67+
-f target=COMMIT_SHA \
68+
-f publish=false
6869
gh run watch --repo Mygod/slipstream-rust
6970
```
7071

7172
Use the exact commit SHA that passed validation. Do not create or push a local
7273
Git tag first for this workflow.
7374

7475
The workflow builds all six binary artifacts, creates a draft release, uploads
75-
the required assets, verifies the draft asset list, and only then publishes the
76-
release. Release immutability locks the tag and assets after publication, so a
77-
missing asset after publication means the release is bad and the fix is a new
78-
version.
76+
the required assets, and verifies the draft asset list. Leave `publish=false`
77+
to inspect the draft before publication. Use `publish=true` only when the
78+
release should be published immediately after the asset check. Release
79+
immutability locks the tag and assets after publication, so a missing asset
80+
after publication means the release is bad and the fix is a new version.
7981

8082
- Verify the published release:
8183

0 commit comments

Comments
 (0)