neos / neos/flow-development-distribution
Scripts should do a simple upmerge for create-branch and create-changelog with skipping changes
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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