Skip to content

Commit cc9c9ef

Browse files
chore(docs): Release flow of collector (#1969)
* create release docs * added sample links * content table * changelog added * linting * lint * lint * link error * removed internal ref doc * removed heading * template update
1 parent ab32c3d commit cc9c9ef

File tree

1 file changed

+165
-0
lines changed

1 file changed

+165
-0
lines changed

docs/release-flow.md

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# Release Flow
2+
3+
Complete release process for Sumo Logic OpenTelemetry Collector.
4+
5+
## Table of Contents
6+
7+
- [Before You Start](#before-you-start)
8+
- [Steps](#steps)
9+
- [Step 1: Renovate Bot](#step-1-renovate-bot)
10+
- [Step 2: Merge Dependency PR](#step-2-merge-dependency-pr)
11+
- [Step 3: Prepare Release PR](#step-3-prepare-release-pr)
12+
- [Step 4: Find Build Number](#step-4-find-build-number)
13+
- [Step 5: CI to RC Promotion](#step-5-ci-to-rc-promotion)
14+
- [Step 6: QE Sign-off](#step-6-qe-sign-off)
15+
- [Step 7: Release Orchestrator](#step-7-release-orchestrator)
16+
- [References](#references)
17+
18+
## Before You Start
19+
20+
Fill in the [release checklist template](https://docs.google.com/document/d/17GPloLV18vJAQ5p9UPSV-KUFQnKEhrsqzF-eXGhAnuE/edit?tab=t.0) and follow the steps documented there.
21+
22+
## Steps
23+
24+
### Step 1: Renovate Bot
25+
26+
1. Run Renovate bot ([renovate-scheduler.yml](../.github/workflows/renovate-scheduler.yml))
27+
2. Wait for PR: `chore(deps): bump opentelemetry-collector`
28+
29+
**Sample PR**: [#1944][pr_1944]
30+
31+
### Step 2: Merge Dependency PR
32+
33+
1. Check CI status
34+
2. **If CI passes**: Merge
35+
3. **If CI fails**: Resolve upstream issues first, then merge
36+
37+
### Step 3: Prepare Release PR
38+
39+
1. Create Python virtual environment:
40+
41+
```bash
42+
python3 -m venv venv
43+
source venv/bin/activate
44+
```
45+
46+
2. Install dependencies:
47+
48+
```bash
49+
pip install towncrier==23.6.0
50+
make install-prettier
51+
```
52+
53+
3. Update changelog:
54+
55+
```bash
56+
make update-changelog VERSION=0.144.0-sumo-0
57+
```
58+
59+
4. Create and merge PR:
60+
61+
```bash
62+
git checkout -b prepare-release-0.144.0-sumo-0
63+
git commit -m "chore: prepare release 0.144.0-sumo-0"
64+
git push origin prepare-release-0.144.0-sumo-0
65+
```
66+
67+
**Sample PR**: [#1965][pr_1965]
68+
69+
### Step 4: Find Build Number
70+
71+
1. Go to [Dev Builds](../.github/workflows/dev_builds.yml)
72+
2. Open the workflow run and check the **"Trigger Remote Workflow"** step
73+
3. Get the workflow ID from this step (e.g., `11672946742`)
74+
75+
4. Search for this workflow ID in packaging repo to get build number:
76+
77+
**CLI:**
78+
79+
```bash
80+
WORKFLOW_ID="11672946742"
81+
gh run list -R sumologic/sumologic-otel-collector-packaging \
82+
-s success -w build_packages.yml -L 200 -b main \
83+
--json displayTitle,number,url \
84+
-q ".[] | select(.displayTitle | contains(\"${WORKFLOW_ID}\"))"
85+
```
86+
87+
Output will show the build number (e.g., `"number": 1790`)
88+
89+
**Manual:**
90+
- Go to [Packaging Build][packaging_build_workflow]
91+
- Search for your workflow ID
92+
- Note build number (e.g., `#1790`)
93+
94+
5. Collector version format: `0.144.0-1790` (VERSION-BUILD_NUMBER)
95+
96+
**Reference**: [release.md](./release.md#determine-the-workflow-run-id-to-release)
97+
98+
### Step 5: CI to RC Promotion
99+
100+
1. Go to [sumologic-otel-collector-packaging][packaging_repo]
101+
2. Actions → **[CI-to-RC Promotion][ci_to_rc_workflow]** workflow
102+
3. Enter:
103+
- **Version**: `0.144.0-1790` (full version with build number)
104+
4. Workflow will automatically:
105+
- Promote packaging artifacts (ci → rc)
106+
- Promote container images (ci → rc)
107+
108+
**Reference**: [CI to RC Promotion Guide][ci_to_rc_guide]
109+
110+
### Step 6: QE Sign-off
111+
112+
1. Notify QE team
113+
2. Wait for testing (1-3 days)
114+
3. Get formal approval
115+
116+
### Step 7: Release Orchestrator
117+
118+
1. Go to [sumologic-otel-collector-packaging][packaging_repo]
119+
2. Actions → **[Release Orchestrator][release_orchestrator_workflow]** workflow
120+
3. Enter:
121+
- **Package version**: `0.144.0-1790` (full version with build number)
122+
4. Workflow will automatically:
123+
- Promote packages (rc → stable)
124+
- Create draft releases for collector, packaging, and containers
125+
126+
## **Publish Draft Releases (⚠️ IMPORTANT ORDER):**
127+
128+
**The orchestrator only creates draft releases. You must publish them manually in this exact order:**
129+
130+
1. **FIRST**: Publish [Collector Release][collector_releases]
131+
- Edit draft release
132+
- Add upstream OTel core and contrib versions
133+
- Copy changelog from [CHANGELOG.md](../CHANGELOG.md)
134+
- Publish release
135+
- Wait for [post-release workflow](../.github/workflows/post-release.yml) to complete (creates package tags)
136+
137+
2. **SECOND**: Publish [Packaging Release][packaging_releases]
138+
- Review draft release
139+
- Publish release
140+
141+
3. **THIRD**: Publish [Containers Release][containers_releases]
142+
- Review draft release
143+
- Publish release
144+
145+
**Reference**: [Release Orchestrator Guide][release_orchestrator_guide]
146+
147+
## References
148+
149+
- [release.md](./release.md) - Manual release process
150+
- [CONTRIBUTING.md](../CONTRIBUTING.md) - Changelog process
151+
- [Packaging Repo][packaging_repo] - Release workflows
152+
- [Container Repo][containers_repo] - Container releases
153+
154+
[pr_1944]: https://github.com/SumoLogic/sumologic-otel-collector/pull/1944
155+
[pr_1965]: https://github.com/SumoLogic/sumologic-otel-collector/pull/1965
156+
[collector_releases]: https://github.com/SumoLogic/sumologic-otel-collector/releases
157+
[packaging_repo]: https://github.com/SumoLogic/sumologic-otel-collector-packaging
158+
[packaging_build_workflow]: https://github.com/SumoLogic/sumologic-otel-collector-packaging/actions/workflows/build_packages.yml
159+
[packaging_releases]: https://github.com/SumoLogic/sumologic-otel-collector-packaging/releases
160+
[ci_to_rc_workflow]: https://github.com/SumoLogic/sumologic-otel-collector-packaging/actions/workflows/ci-to-rc-promotion.yml
161+
[ci_to_rc_guide]: https://github.com/SumoLogic/sumologic-otel-collector-packaging/blob/main/docs/ci-to-rc-promotion.md
162+
[release_orchestrator_workflow]: https://github.com/SumoLogic/sumologic-otel-collector-packaging/actions/workflows/release-orchestrator.yml
163+
[release_orchestrator_guide]: https://github.com/SumoLogic/sumologic-otel-collector-packaging/blob/main/docs/release-orchestrator.md
164+
[containers_repo]: https://github.com/SumoLogic/sumologic-otel-collector-containers
165+
[containers_releases]: https://github.com/SumoLogic/sumologic-otel-collector-containers/releases

0 commit comments

Comments
 (0)