Skip to content

Commit 2e834f7

Browse files
committed
release: version v0.1.0-beta.2
1 parent 4fe8246 commit 2e834f7

6 files changed

Lines changed: 163 additions & 11 deletions

File tree

Cargo.lock

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

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ resolver = "2"
88

99
[package]
1010
name = "torrust-tracker-deployer"
11-
version = "0.1.0-beta.1"
11+
version = "0.1.0-beta.2"
1212
edition = "2021"
1313
description = "Torrust Tracker Deployer - Deployment Infrastructure with Ansible and OpenTofu"
1414
license = "MIT"
@@ -64,8 +64,8 @@ tempfile = "3.0"
6464
tera = "1.0"
6565
testcontainers = { version = "0.27", features = [ "blocking" ] }
6666
thiserror = "2.0"
67-
torrust-tracker-deployer-dependency-installer = { path = "packages/dependency-installer", version = "0.1.0-beta.1" }
68-
torrust-tracker-deployer-types = { path = "packages/deployer-types", version = "0.1.0-beta.1" }
67+
torrust-tracker-deployer-dependency-installer = { path = "packages/dependency-installer", version = "0.1.0-beta.2" }
68+
torrust-tracker-deployer-types = { path = "packages/deployer-types", version = "0.1.0-beta.2" }
6969
torrust-linting = "0.1.0"
7070
tracing = { version = "0.1", features = [ "attributes" ] }
7171
tracing-appender = "0.2"
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
# Release v0.1.0-beta.2: End-to-End Process Validation
2+
3+
**Issue**: #459
4+
**Parent Epic**: N/A
5+
**Related**: [#450](https://github.com/torrust/torrust-tracker-deployer/issues/450) (beta.1 release validation),
6+
[#448](https://github.com/torrust/torrust-tracker-deployer/issues/448) (release process definition),
7+
[#452](https://github.com/torrust/torrust-tracker-deployer/pull/452) (crate rename to tracker-deployer namespace)
8+
9+
## Overview
10+
11+
Execute the second pre-release of the Torrust Tracker Deployer, validating the
12+
full release workflow after the fixes and improvements made during and after the
13+
beta.1 cycle. Version `0.1.0-beta.2` serves as a second validation gate before
14+
cutting the final `v0.1.0` release.
15+
16+
Unlike beta.1 (#450), the pipeline setup (crate token scopes, DockerHub environment,
17+
crate namespace after #452) is already known to work. This release focuses on
18+
confirming that the entire workflow runs cleanly end-to-end without friction and
19+
that no regressions were introduced by the post-beta.1 changes (Prometheus, Grafana,
20+
Caddy upgrades, crate renames, CVE documentation).
21+
22+
## Goals
23+
24+
- [ ] Version `0.1.0-beta.2` is reflected in all four `Cargo.toml` files on `main`
25+
- [ ] Signed tag `v0.1.0-beta.2` and release branch `releases/v0.1.0-beta.2` exist
26+
- [ ] Docker image `torrust/tracker-deployer:0.1.0-beta.2` is published to Docker Hub
27+
- [ ] All four crates are published to crates.io at version `0.1.0-beta.2`
28+
- [ ] GitHub release `v0.1.0-beta.2` is published (not draft)
29+
- [ ] Any new friction points discovered are documented and filed as follow-ups
30+
31+
## Specifications
32+
33+
### Version Bump Scope
34+
35+
Update `version` field to `0.1.0-beta.2` in all four manifests:
36+
37+
| File | Crate |
38+
| ------------------------------------------ | ----------------------------------------------- |
39+
| `Cargo.toml` (workspace root) | `torrust-tracker-deployer` |
40+
| `packages/deployer-types/Cargo.toml` | `torrust-tracker-deployer-types` |
41+
| `packages/dependency-installer/Cargo.toml` | `torrust-tracker-deployer-dependency-installer` |
42+
| `packages/sdk/Cargo.toml` | `torrust-tracker-deployer-sdk` |
43+
44+
Also update every internal path dependency `version` constraint to `0.1.0-beta.2`.
45+
46+
### Publish Order (crates.io dependency order)
47+
48+
1. `torrust-tracker-deployer-types`
49+
2. `torrust-tracker-deployer-dependency-installer`
50+
3. `torrust-tracker-deployer`
51+
4. `torrust-tracker-deployer-sdk`
52+
53+
Each crate's dry-run step in CI runs only after its prerequisites are indexed on
54+
crates.io — do not attempt to publish out of order.
55+
56+
## Implementation Plan
57+
58+
### Phase 1: Pre-Flight and Setup
59+
60+
- [ ] Task 1.1: Verify local workspace is clean and on `torrust/main` up-to-date
61+
with `origin/main` (`git status`, `git pull --ff-only`)
62+
- [ ] Task 1.2: Confirm GitHub environments `dockerhub-torrust` and `crates-io` are
63+
still configured (token permissions, environment secrets unchanged since beta.1)
64+
- [ ] Task 1.3: Confirm releaser has push access to `main`, tags, and release branches
65+
- [ ] Task 1.4: Document any pre-flight issues found
66+
67+
### Phase 2: Execute the Release
68+
69+
- [ ] Task 2.1: Update `version` to `0.1.0-beta.2` in all four `Cargo.toml` files
70+
and in every internal path dependency constraint
71+
- [ ] Task 2.2: Run `cargo build && cargo test` and verify they pass
72+
- [ ] Task 2.3: Run `./scripts/pre-commit.sh` and verify all checks pass
73+
- [ ] Task 2.4: Create and push the signed release commit to `main`
74+
(`git commit -S -m "release: version v0.1.0-beta.2"`)
75+
- [ ] Task 2.5: Create and push annotated signed tag `v0.1.0-beta.2`
76+
- [ ] Task 2.6: Create and push release branch `releases/v0.1.0-beta.2`
77+
- [ ] Task 2.7: Monitor Container and Publish Crate workflows to completion
78+
79+
### Phase 3: Artifact Verification
80+
81+
- [ ] Task 3.1: Pull and inspect Docker image `torrust/tracker-deployer:0.1.0-beta.2`
82+
- [ ] Task 3.2: Verify all four crates at `0.1.0-beta.2` are visible on crates.io
83+
- [ ] Task 3.3: Verify docs.rs build for the published crate versions
84+
- [ ] Task 3.4: Create GitHub release from tag `v0.1.0-beta.2`
85+
86+
### Phase 4: Process Review and Fixes
87+
88+
- [ ] Task 4.1: Collect every friction point, error, or unexpected step encountered
89+
during the release — no matter how small
90+
- [ ] Task 4.2: For each issue found, fix the root cause immediately in the relevant
91+
artifact:
92+
- `docs/release-process.md` — if a step was wrong, missing, or misleading
93+
- `.github/skills/dev/git-workflow/release-new-version/skill.md` — if the skill
94+
diverged from reality
95+
- `scripts/` — if a helper script failed or was absent
96+
- CI workflow files (`.github/workflows/`) — if a workflow behaved unexpectedly
97+
- Any other documentation, template, or configuration that contributed to the
98+
friction
99+
- [ ] Task 4.3: File follow-up issues for any non-trivial problems that cannot be
100+
fixed inline (e.g., upstream blockers, larger refactors)
101+
- [ ] Task 4.4: Re-run `./scripts/pre-commit.sh` after any fixes to confirm nothing
102+
was broken
103+
- [ ] Task 4.5: Confirm all finalization gates below are met
104+
105+
## Acceptance Criteria
106+
107+
**Quality Checks**:
108+
109+
- [ ] Pre-commit checks pass: `./scripts/pre-commit.sh`
110+
111+
**Release Execution**:
112+
113+
- [ ] Version `0.1.0-beta.2` is committed and present in all four `Cargo.toml` files
114+
on `main`
115+
- [ ] Tag `v0.1.0-beta.2` exists and is signed
116+
- [ ] Branch `releases/v0.1.0-beta.2` exists
117+
- [ ] Container workflow completed successfully
118+
- [ ] Publish Crate workflow completed successfully
119+
- [ ] GitHub release `v0.1.0-beta.2` is published (not draft)
120+
121+
**Artifact Verification**:
122+
123+
- [ ] Docker image `torrust/tracker-deployer:0.1.0-beta.2` can be pulled and run
124+
- [ ] All four crates at `0.1.0-beta.2` are visible on crates.io:
125+
- [ ] `torrust-tracker-deployer-types@0.1.0-beta.2`
126+
- [ ] `torrust-tracker-deployer-dependency-installer@0.1.0-beta.2`
127+
- [ ] `torrust-tracker-deployer@0.1.0-beta.2`
128+
- [ ] `torrust-tracker-deployer-sdk@0.1.0-beta.2`
129+
- [ ] docs.rs build page loads for the published versions
130+
131+
**Process Quality**:
132+
133+
- [ ] Every friction point or error encountered is documented (inline comment or
134+
filed follow-up issue)
135+
- [ ] Every fixable problem is fixed in the relevant artifact — documentation,
136+
skill, script, or workflow — not just noted
137+
- [ ] No step was silently skipped or improvised without documentation
138+
- [ ] `docs/release-process.md` and the release skill accurately reflect how the
139+
release was actually executed
140+
141+
## Related Documentation
142+
143+
- [Release Process](../release-process.md)
144+
- [Release Skill](.github/skills/dev/git-workflow/release-new-version/skill.md)
145+
- [beta.1 release issue #450](https://github.com/torrust/torrust-tracker-deployer/issues/450)
146+
147+
## Notes
148+
149+
This is a pre-release, not a stable release. Pre-release versions on crates.io
150+
(`0.1.0-beta.2`) are not selected by default by `cargo add` — users must opt in
151+
explicitly. The goal is to validate the full pipeline before committing to a stable
152+
`v0.1.0`.

packages/dependency-installer/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "torrust-tracker-deployer-dependency-installer"
3-
version = "0.1.0-beta.1"
3+
version = "0.1.0-beta.2"
44
edition = "2021"
55
description = "Dependency detection and installation utilities for the Torrust Tracker Deployer project"
66
license = "MIT"

packages/deployer-types/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "torrust-tracker-deployer-types"
3-
version = "0.1.0-beta.1"
3+
version = "0.1.0-beta.2"
44
edition = "2021"
55
description = "Shared value objects and traits for the Torrust Tracker Deployer"
66
license = "MIT"

packages/sdk/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "torrust-tracker-deployer-sdk"
3-
version = "0.1.0-beta.1"
3+
version = "0.1.0-beta.2"
44
edition = "2021"
55
description = "Programmatic SDK for the Torrust Tracker Deployer"
66
license = "MIT"
@@ -29,7 +29,7 @@ path = "examples/validate_config.rs"
2929

3030
[dependencies]
3131
torrust-tracker-deployer = { path = "../..", version = "0.1.0-beta.1" }
32-
torrust-tracker-deployer-types = { path = "../deployer-types", version = "0.1.0-beta.1" }
32+
torrust-tracker-deployer-types = { path = "../deployer-types", version = "0.1.0-beta.2" }
3333
thiserror = "2.0"
3434

3535
[dev-dependencies]

0 commit comments

Comments
 (0)