Proposal: Updated release workflow#1968
Closed
lslezak wants to merge 0 commit intoagama-project:masterfrom
lslezak:master
Closed
Proposal: Updated release workflow#1968lslezak wants to merge 0 commit intoagama-project:masterfrom lslezak:master
lslezak wants to merge 0 commit intoagama-project:masterfrom
lslezak:master
Conversation
Contributor
|
The approach looks promising. I like using the I would probably keep a single |
lslezak
added a commit
that referenced
this pull request
Mar 11, 2025
## Problem - There could be a confusion between the official Agama version 12 and the version from our OBS ## Solution - Bump the version to `13pre` so it is clear this is not the version 12 but still not the future version 13 (so that 12 is the latest final release). - Using a pre version [has been approved by Imo](#1968 (comment))
Contributor
Author
|
Updated graph for the release process, click the flowchart LR
MB0[#quot;master#quot; branch, version 13.pre<br>#lpar;used for development#rpar;]
MB1[#quot;master#quot; branch, version 13<br>#lpar;used for development#rpar;]
MB2[#quot;master#quot; branch, version 14.pre<br>#lpar;features for future BetaX+1#rpar;]
RB[#quot;release#quot; branch, version 13<br>#lpar;only important fixes for BetaX#rpar;]
sAD[systemsmanagement:Agama:Devel]
sAR[systemsmanagement:Agama:Release]
DYAH[Devel:YaST:Agama:Head<br>#lpar;just for testing the latest development version in a SLE16 build#rpar;]
DYAR[Devel:YaST:Agama:Release<br>#lpar;for releasing the next Beta version#rpar;]
SLE16
Factory[openSUSE Factory]
Leap16[openSUSE Leap 16.0]
subgraph GitHub
MB0
MB1
MB2
RB
end
subgraph OBS
sAD
sAR
Factory
Leap16
end
subgraph IBS
DYAH
DYAR
SLE16
end
MB2 -->|GitHub Action<br>submits to| sAD
RB -->|GitHub Action<br>submits to| sAR
MB0 -->|BetaX released, started BetaX+1 development<br>remove the #quot;pre#quot; version suffix | MB1
MB1 -->|branched before releasing next Beta| RB
MB1 -->|bump the Agama version in #quot;master#quot; to Y+1.pre| MB2
MB2-. next development cycle .-> MB0
sAD -->|linked to| DYAH
sAR -->|linked to| DYAR
DYAR -->|manually<br>submitted to| SLE16
sAD -->|manually submitted to| Factory
SLE16 -->|automatically<br>inherited to | Leap16
linkStyle 5 color:gray;
|
Contributor
Author
|
Updated graph with the current situation, click the flowchart LR
MB0[#quot;master#quot; branch, version 13.pre<br>#lpar;used for development#rpar;]
MB1[#quot;master#quot; branch, version 13<br>#lpar;used for development#rpar;]
MB2[#quot;master#quot; branch, version 14.pre<br>#lpar;features for future BetaX+1#rpar;]
RB[#quot;release#quot; branch, version 13<br>#lpar;only important fixes for BetaX#rpar;]
sAD[systemsmanagement:Agama:Devel]
sAR[systemsmanagement:Agama:Release]
DYAH[Devel:YaST:Agama:Head<br>#lpar;just for testing the latest development version in a SLE16 build#rpar;]
DYAR[Devel:YaST:Agama:Release<br>#lpar;for releasing the next Beta version#rpar;]
SLE16
Factory[openSUSE Factory]
Leap16[openSUSE Leap 16.0]
subgraph GitHub
MB0
MB1
MB2
RB
end
subgraph OBS
sAD
sAR
Factory
Leap16
end
subgraph IBS
DYAH
DYAR
SLE16
end
MB2 -->|GitHub Action<br>submits to| sAD
RB -->|GitHub Action<br>submits to| sAR
MB0 -->|BetaX released, started BetaX+1 development<br>remove the #quot;pre#quot; version suffix | MB1
MB1 -->|branched before releasing next Beta| RB
MB1 -->|bump the Agama version in #quot;master#quot; to Y+1.pre| MB2
MB2-. next development cycle .-> MB0
sAD -->|linked to| DYAH
sAR -->|linked to| DYAR
DYAR -->|manually submitted to | SLE16
%% DYAH -->|"automatically submitted between Beta releases (TBD)"| SLE16
sAR -->|manually submitted to| Factory
SLE16 -->|automatically<br>inherited to | Leap16
linkStyle 5 color:gray;
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
masterSolution
masterTest setup
For testing setup I created
To avoid versioning problem (the same package versions in both Devel and Release projects but with different content) I bumped the version in Devel to "12.pre". The "pre" should indicate that it is not the final release and that the version 11 is still the latest release. (Maybe we could use some different suffix, like "devel". I used "pre" as it is commonly used with Rubygems.)
After fixing few submission problems I got it working:
Proposed workflow
Here is a summary of the release workflow:
releasebranch from master (if it already exists from the previous release then merge/rebase withmaster).releasebranch. (That's the reason for the extra commit.)releasebranch are also merged to themasterbranch so they are not lostChart
flowchart LR MB[#quot;master#quot; branch<br>#lpar;contains #quot;v12.pre#quot; tag#rpar;] RB[#quot;release#quot; branch<br>#lpar;contains #quot;v11#quot; tag#rpar;] sAD[systemsmanagement:Agama:Devel] sAR[systemsmanagement:Agama:Release] DYAH[Devel:YaST:Agama:Head<br>#lpar;just for testing the latest version in a SLE16 build#rpar;] DYAR[Devel:YaST:Agama:Release<br>#lpar;does not exist yet#rpar;] SLE16 Factory[openSUSE Factory] Leap16[openSUSE Leap 16.0] subgraph GitHub MB RB end subgraph OBS sAD sAR Factory Leap16 end subgraph IBS DYAH DYAR SLE16 end MB -->|"GitHub Action<br>submits to"| sAD RB -->|"GitHub Action<br>submits to"| sAR MB -->|Branched at<br>the release time<br>before creating<br>the #quot;v12.pre#quot; tag in<br>the #quot;master#quot; branch| RB sAD -->|linked to| DYAH sAR -->|linked to| DYAR DYAR -->|manually<br>submitted to| SLE16 sAD -->|submitted to<br>#lpar;auto/manually?#rpar;| Factory sAR -->|submitted to<br>#lpar;auto/manually?#rpar;| Leap16Questions
releasebranch which contains only the latest release code or have separate branches for each release? E.g.release_11,release_beta1,release_12,release_beta2. Later we will need to have maintenance branches anyway (for GM, SP1, SP2...), so we will need to support this scenario at some point anyway.TODO