-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improving the release process #275
Comments
Hi @Potherca, I added an updated version of my helper scripts in the plantuml-stdlib/C4-PlantUML/275-improving-the-release-process branch It's a improved version of my semi-automatic steps for a release. Maybe you can use some parts as a starting point for your improvements (I will remove the outdated version from branch feature/148) The scripts requires that the MR 273 is accepted otherwise the scripts are not working. BR Helmut PS.: I cannot protect a release branch (missing rights, can you assign it to me) |
Absolutely! This is one of those things that'll take a few iterations anyway. Never fear to make changes!
I've been somewhat absent lately, as my dayjob was absorbing most of my energy. Luckily, I have 3 weeks of holiday coming up, so I should be able to catch up and get things moving again. 👍
Apparently the maintainer role is not enough, so I bumped the plantuml-stdlib/c4-plantuml-maintainers permission to |
- "CalculateDeployedVersion" (calculates next plantuml(-stdlib) version based on running PlantUML web server) - "CreatePlantUMLStdlibC4Folder" (prepare C4 folder that it can be deployed into plantum-stdlib)
Hi @Potherca, I extended the This means we need only the "release version" and the "next release version". Do you have some experiences with GitHub triggers and automation that we can automate the process from
If yes, I could extend the transform_files.py file that I can calculate the last missing "next release version" argument too. Thank you and BR |
Yes. That is part of my day job 😄 It is possible to use branch names as a trigger. |
Perfect, you are the best counterpart 😄. I updated the python scripts in 275-improving-the-release-process that it
You need basically only e.g. following environment variables and all other steps of the HowToCreateANewRelease.md should be possible without any other (dynamic) properties (Github clientid or password could be missing, ...). export release_version=v2.6.0
export deploy_repository_folder=../plantuml-stdlib And if your trigger script can extract the release version e.g. out of the created Can you try it? Thank you and BR |
I'll see how things go on my fork. 👍 |
This issue has been automatically marked as stale because it has not had activity in the past 60 days. It will be closed in seven days if no further activity occurs. Thank you for your contributions. |
Hi @Potherca, do you have time for the automation of the calls? BR Helmut |
Looks like I forgot to comment back that things worked okay. Lets merge |
./.scripts/HowToCreateANewRelease.md contains all required steps that - a new release version can be created and - deployed to plantuml-stdlib repository
Originally posted by @kirchsth in #248 (comment)
related to the breaking "master": I think the safes (maybe not simplest) solution is
master is finished with beta version of the release
0.1) (manually) Check that all open issues, related to the release milestone, are finished
0.2) (manually) Check if anything else that needs changing. Copyright year? Any contrib files? URLS?
0.*) (manually) ...
0.x) (manually) Check which is the next released version of the PlantUML(/PlantUML-stdlib) version.
(it is used as $deployed_version and required in the released README.md )
create branch release/$release_version (based on master)
1.1) Update all includes with $release_version in *.puml and *.md
1.2) Update includes of all image urls with $release_version in *.md
1.3) Replace header of README.md with release header (based on readme_release_header.txt)
1.m1) Manually: check updated files
1.4) Commit changes with comment "Create release (branch) $release_version"
1.5) push release to branch release/$release_version (manual?)
1.6) add $release_version tag to branch release/$release_version (manual?)
create a new $release_version release based on the $release_version tag (is branch release/$release_version, not master) (manual?)
2.1) protect release/$release_version branch (no changes)
create branch feature/$next_version beta (based on master)
3.1) Update C4.puml with next beta $next_version beta
3.2) Commit changes with comment "Update version with first beta of $next_version (the last released version is stored in branch release/$release_version)"
3.3) create a MR "Update version with first beta of $next_version" into master
3.4) merge (after merge master is updated with $next_version beta1)
create in PlantUML/PlantUML-stdlib a MR based on
4.1) create in a PlantUML/PlantUML-stdlib fork a C4v250 branch
4.2) update the C4_*.puml and INFO file
4.3) Commit changes with comment "Update C4-PlantUML to $release_version"
4.4) create a MR "Update C4-PlantUML to $next_version"
@Potherca: I hope the update was ok
The text was updated successfully, but these errors were encountered: