You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 25, 2024. It is now read-only.
I recently worked on a solution to automatize merge of upstream changes and I think I have arrived at something that should make it possible to limit manual interventions as much as possible.
I based my work on a clean fork of docker-library/php repository, applied some patches on Dockerfile-linux.template template and declare -dev versions in versions.json file, in order to be able to automatically update -dev images files using apply-templates.sh script when upstream changes are merged.
Job has been done on the master branch of my cedric-anne/docker-library-php fork that does not yet contains latest upstram commits. It should trigger an automatic merge on midnight and an automatic build of images one hour later.
I did not create a pull request as it would not be easy to read due to a complete rebase on docker-library/php repository.
https://github.com/cedric-anne/docker-library-php/commit/c2def05326644602330ceface5aa136897b948c1
This commit contains Dockerfile-linux.template patch, declaration of -dev versions in versions.json file, and the daily build workflow.
I tried to made as less changes as possible on Dockerfile-linux.template file to prevent conflicts that would require a manual intervention.
On versions.json file, I had to put versions at the beginning of the file to prevent conflicts. Indeed, *-rc versions are constantly changing from null to a json object (see docker-library/php@b8abf7a and docker-library/php@67c242c), so putting something on previous or on next line will result in conflicts everytime this kind of change will be done. Conversely, putting -dev versions right before the 8.0 version line should not result in any conflict, except when this 8.0 version will be removed.
I tried to put -dev versions in a dedicated files, but it required too many changes and it finally did not seem like a good solution to me.
https://github.com/cedric-anne/docker-library-php/commit/6ec502c300194ecf4e721838dac812944c85768e
This commit contains the workflow used to automatically merge upstream changes.
In order to be able to push on the master branch, that is a protected branch, I had to generate a Personnal Access Token on my account to be identified as an administrator account. The only other solution would be to generate a PR everytime there is something to merge. It is easy to do, but it would result in something less automated.
I recently worked on a solution to automatize merge of upstream changes and I think I have arrived at something that should make it possible to limit manual interventions as much as possible.
I based my work on a clean fork of
docker-library/phprepository, applied some patches onDockerfile-linux.templatetemplate and declare-devversions inversions.jsonfile, in order to be able to automatically update-devimages files usingapply-templates.shscript when upstream changes are merged.Job has been done on the
masterbranch of mycedric-anne/docker-library-phpfork that does not yet contains latest upstram commits. It should trigger an automatic merge on midnight and an automatic build of images one hour later.I did not create a pull request as it would not be easy to read due to a complete rebase on
docker-library/phprepository.I splitted my job in 5 commits.
https://github.com/cedric-anne/docker-library-php/commit/c7fc99ac9d99311d41d64d79344eddbd4758d05a
This commit just disable the initial CI workflow of the
docker-library/phprepository. Indeed, we cannot reuse it.https://github.com/cedric-anne/docker-library-php/commit/c2def05326644602330ceface5aa136897b948c1
This commit contains
Dockerfile-linux.templatepatch, declaration of-devversions inversions.jsonfile, and the daily build workflow.I tried to made as less changes as possible on
Dockerfile-linux.templatefile to prevent conflicts that would require a manual intervention.On
versions.jsonfile, I had to put versions at the beginning of the file to prevent conflicts. Indeed,*-rcversions are constantly changing fromnullto a json object (see docker-library/php@b8abf7a and docker-library/php@67c242c), so putting something on previous or on next line will result in conflicts everytime this kind of change will be done. Conversely, putting-devversions right before the8.0version line should not result in any conflict, except when this8.0version will be removed.I tried to put
-devversions in a dedicated files, but it required too many changes and it finally did not seem like a good solution to me.https://github.com/cedric-anne/docker-library-php/commit/6ec502c300194ecf4e721838dac812944c85768e
This commit contains the workflow used to automatically merge upstream changes.
In order to be able to push on the master branch, that is a protected branch, I had to generate a Personnal Access Token on my account to be identified as an administrator account. The only other solution would be to generate a PR everytime there is something to merge. It is easy to do, but it would result in something less automated.
https://github.com/cedric-anne/docker-library-php/commit/a3085731c75a76e40d25b92b9f37e5b116149f8f
This commit contains the README file update and corresponding git attributes to prevent any conflict on this file during merge of upstream changes.
https://github.com/cedric-anne/docker-library-php/commit/4c7c5c5571eb4700650e766d07b015829b151d1a
This commit contains only changes made automatically by
apply-templates.shscript.