Skip to content

Commit 2620019

Browse files
docs: add maintainer release instructions (#4773)
1 parent 766473f commit 2620019

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

docs/maintainers/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Maintainer Documentation
2+
3+
This directory contains documentation intended for Sunshine maintainers only. These documents cover internal processes,
4+
workflows, and procedures that are not relevant to end users or general contributors.
5+
6+
## Available Documentation
7+
8+
### [Release Process](release.md)
9+
Instructions for creating and managing Sunshine releases, including the steps to convert pre-releases to stable releases
10+
and an overview of the automated workflows that are triggered during the release process.
11+
12+
---
13+
14+
> [!NOTE]
15+
> These documents are excluded from the public Doxygen documentation build and are intended for internal use only.

docs/maintainers/release.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Create a stable Sunshine release
2+
3+
Pre-releases in Sunshine are created automatically on every push event to the `master` branch. These are required
4+
to be created before making a stable release. Below are the instructions for converting a pre-release to stable.
5+
6+
1. Wait for the pre-release to be created.
7+
2. Once the pre-release is created, the copr build will begin in the
8+
[beta copr repo](https://copr.fedorainfracloud.org/coprs/lizardbyte/beta/).
9+
Wait for this build to succeed before continuing. You can view the status
10+
[here](https://github.com/LizardByte/Sunshine/actions/workflows/ci-copr.yml?query=event%3Arelease)
11+
3. Once the workflow mentioned in step 2 completes, it will update the GitHub release with the RPM files from the copr
12+
build.
13+
4. At this point, the GitHub release can be edited.
14+
15+
- Add any top-level release notes.
16+
- Ensure any security fixes are mentioned first with links to the security advisories.
17+
- Following security advisories, breaking changes should be mentioned. Be sure to mention anything the user may need
18+
to do to ensure a smooth upgrade experience.
19+
- Then highlight any notable new features and/or fixes.
20+
- Lastly, reduce the automated changelog list. Things like dependency updates and ci updates can mostly be removed.
21+
22+
5. When saving, uncheck "pre-release" and save the release. This will make the release stable and kick off a series of
23+
workflows, including but not limited to the following:
24+
25+
- Create a blog post in [LizardByte.github.io repo](https://github.com/LizardByte/LizardByte.github.io/pulls) via PR
26+
27+
- Merging this PR will trigger automations that send the blog post link to:
28+
29+
- LizardByte Discord
30+
- r/LizardByte subreddit
31+
- Twitter
32+
- Facebook
33+
34+
- Update changelog in [changelog](https://github.com/LizardByte/Sunshine/tree/changelog) branch
35+
- Update docs on [Read The Docs](https://app.readthedocs.org/projects/sunshinestream/)
36+
- Update official [Flathub repo](https://github.com/flathub/dev.lizardbyte.app.Sunshine/pulls) via a PR
37+
(we have merge control)
38+
- Update our homebrew-homebrew repo via a PR (https://github.com/LizardByte/homebrew-homebrew/pulls)
39+
- Update our pacman-repo via a PR (https://github.com/LizardByte/pacman-repo/pulls)
40+
- Update official
41+
[Winget repo](https://github.com/microsoft/winget-pkgs/issues?q=is%3Apr%20is%3Aopen%20author%3ALizardByte-bot)
42+
via a PR (we DO NOT have merge control)
43+
- Build the new version in [stable copr repo](https://copr.fedorainfracloud.org/coprs/lizardbyte/stable/)
44+
- Send release notification to Moonlight Discord server

0 commit comments

Comments
 (0)