[horde] The Road To H6: horde/components tool is now on packagist

Simon B simon.buongiorno at gmail.com
Wed Nov 15 22:55:37 UTC 2023


On Wed, 15 Nov 2023, 21:06 Lang, Ralf, <ralf.lang at gmail.com> wrote:

>
> Am 30/10/2023 um 19:45 schrieb Lang, Ralf:
> > Hello,
> >
> >
> > Am 29/10/2023 um 10:49 schrieb Lang, Ralf:
> >> Hello,
> >>
> >> I have now added the necessary dependencies to install the
> >> horde/components tool via composer. This is a tool developers use to
> >> build the changelog, create releases and some other project
> >> administrative stuff.
> >>
> >> I will probably have to rework the default config and code which sets
> >> up the github CI workflows. It was built with downstream in mind and
> >> didn't get a lot of testing on php8.1+.
> >>
> > horde/core v3.0.0alpha15 fixes an incompatibility with php 8.2+ when
> > trying to log exceptions.
> > horde/content and horde/mnemo can now be installed. Mnemo's main
> > screen can be accessed but trying to save memos creates an error
> > screen. The memo is however saved and shows up when reloading. I will
> > look into this.
>
> The last two week sprint didn't bring as many hours of coding as I
> intended.
>
> horde/http has been updated to the latest versions of PHP-FIG standards:
>
> PSR-7 HTTP Message 2.0, PSR-17 HTTP Factories 1.0.2, PSR-18 HTTP Client
> 1.0.3. Currently at phpstan level 3.
> This will probably trigger some more updates in horde/core to deal with
> the necessary signatures.
>
> horde/githubapiclient is a new helper library. As the name suggests, it
> wraps a few calls to the GitHub API. I took much care to have as few
> coupling to Horde's framework as possible. Currently at phpstan level 9.
>
> horde-components tool got most attention. At the moment most commands
> are not accessible as I am in the middle of changing implementation
> details. Based on horde/githubapiclient, there is a new command
>
>      horde-components github-clone-org
>
> which checks out all repos from the horde github organization. A similar
> feature already existed in Michael's git-tools utility. After checking
> out a whole tree, one can use the other git related commands though many
> of them still only work on single components.
>
> Clone a component from an online repo
>      horde-components git clone [component] [branch]
>
> Fetch metadata from all remotes, including tags
>      horde-components git fetch [component]
>
> Locally checkout a branch
>      horde-components git checkout [component] [branch]
>
> Update a branch from another branch
>      horde-components git branch [component] [branch] [source branch]
>
> Write a tag to a branch
>      horde-components git tag [component] [branch] [tag] [comment]
>
> Push a component to a remote
>      horde-components git push [component] [remote]
>
>
> I think there will be some changes to the changelog and release
> functionality. The tool should allow to derive the changelog from the
> contents of commit messages and pull requests. Also it should check for
> key words like "added", "deprecated", "removed", "fixed", "security" and
> automatically figure if it is going to be a feature release or a bugfix
> release. Noise without a marker word should be kept out of the changelog.
>
> At a later point I want to use the tool in github actions. When merging
> a PR, it should automatically create a tagged release, changelog,
> artefacts, upload phpdoc and quality metrics to the website... we're not
> there.
>
> Finally I prepared a number of additional libraries for upload to
> Packagist <https://packagist.org/packages/horde/>.
> For the sprint starting today, remaining horde apps and libraries should
> end up in packagist. Work on components tool will continue and some
> cursory tests&fixes may eliminate obvious incompatibilities with PHP 8.2+
>

Thank you so much Ralf.

Please do ask for assistance.

Simon


More information about the horde mailing list