neos / neos/flow-development-distribution

Scripts should do a simple upmerge for create-branch and create-changelog with skipping changes

Open
#70 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
1
Forks
12
PR merge metrics
No merged PRs in 30d

Description

Currently, the create-branch script will adjust composer.json dependencies to the specific release version. A following upmerge can easily forget to reset those versions back to the dev-master defaults and hence the master ends up with wrong dependency versions making it impossible to install. (see https://github.com/neos/flow-base-distribution/commit/49cdf3d61c4382dad08dcf16124db76923435ae2 for a manual correction commit of such an issue)
The same, but less critical, is the case for create-changelog, which creates a logfile that should not be upmerged and is only relevant for the current major+minor version. It often ends up being upmerged and needs to be deleted manually later. Even when not forgotten, it makes upmerging right after a release a tiny bit more tedious than otherwise.

Both can be prevented if the two scripts above would do a single upmerge similar to this:
git checkout origin/master && git merge --no-commit --no-ff $BRANCH && git reset HEAD composer.json && git commit -m "TASK: Upmerge dependency changes from $BRANCH"
Note: For the Framework/Neos packages the composer.json of all subpackages would need to be reset.

That would have to happen somewhere here: https://github.com/neos/flow-development-distribution/blob/master/Build/create-branch.sh#L58 and for all of the packages/folders or directly here https://github.com/neos/BuildEssentials/blob/master/ReleaseHelpers.sh#L30

In the case of the changelog, the upmerge would need to happen to the "next higher" branch, which is dynamic.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Build/create-branch.sh around line 58 and BuildEssentials/ReleaseHelpers.sh around line 30 to trace how branch creation and changelog generation work. Check how the Framework/Neos package folders and the dynamic next-higher branch are handled. Done means upmerges omit release dependency changes and the current changelog without manual cleanup.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, shell
Domain
build-system, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.