[dev] Github Actions Release management

Ralf Lang lang at b1-systems.de
Fri Jul 30 18:32:32 UTC 2021


Hello,

as vacation time is approaching, I want to dive deeper into the Github 
Actions topic.

Goal is to enable Horde Maintainers to run release tasks from github UI 
and simplify changelog handling.

This is my proposal:

- On Merge Request accepted: scan Pull request texts for some markers 
(suggestion?), run

   horde-components changed "[foo] $text"

- On manual trigger, run either the workflow for a patch release or a 
feature release. horde-components will run a pipeline 
https://github.com/maintaina-com/components/blob/FRAMEWORK_6_0/config/maintaina.conf.dist#L98
   either keep the existing version information or change to the next 
feature level (x.Y.z)
   regenerate composer.json from .horde.yml
   tag a release
   upgrade all relevant files to the next patch level (x.y.Z)

   See link for more detail. The commits from the release flow will also 
trigger the composer repo upgrade and the documentation update

- Do not allow PR merge if unit tests fail or source code contains 
syntax issues [allow override]

I did not yet really care about website and bug tracker updates. Also, I 
did not yet include file generation from wiki content. They may be 
broken or working as they always did. I do not have the privileges to 
test this.



This is already implemented (on the fork, not on horde):

- nothing depends on travis-ci or jenkins
- pear package.xml is now only optional, .horde.yml is the relevant file
- All repos are composer 2 ready, no pear-based installs
- PHPUnit 9 runs on all commits or pushes and notifies of failures [with 
no further consequences]
- A set of containers containing an up to date base OS and the latest 
git code is built nightly [both dev and alpha, but no QA on this]
- Any commit/push or PR to the FRAMEWORK_6_0 branches generates a phpdoc 
http://apidoc.maintaina.com/
- Any commit/push or PR to the FRAMEWORK_6_0 branches generates an 
update of the composer/satis repo within less than 5 minutes 
[originally: nightly] https://horde-satis.maintaina.com/



-- 
Ralf Lang
Linux Consultant / Developer
Tel.: +49-170-6381563
Mail: lang at b1-systems.de
B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537



More information about the dev mailing list