Dato un repo github che contiene solamente il composer delle dipendenze di altri repo, l'obiettivo è esporre un changelog delle modifiche di tutti i repo.
git clone https://github.com/Opencontent/composer-lock-diff.git
cd composer-lock-diff
git checkout auto_changelog
mv composer-lock-diff /usr/local/bin/composer-lock-diff
export GITHUB_TOKEN="{token}"
vedi https://github.com/release-it/release-it
File .release-it.json
{
"github": {
"release": true,
"releaseNotes": "composer-lock-diff --from=HEAD^:composer.lock --to=HEAD:composer.lock --md --changelog"
}
}
mkdir test-release
cd test-release
composer require psr/log
vim .release-it.json
echo "# test-release" >> README.md
git init
git add --all
git commit -m "first commit"
git remote add origin https://github.com/lrealdi/test-release.git
git push -u origin master
Creo la prima release con
release-it --github.releaseNotes='echo "Prima release"'
perché ancora non esiste un composer.lock nella storia di git
Correggo qualche dipendenza ad esempio composer require psr/http-message
Eseguo se serve composer update
Commit git commit -a
in scrittura del messggio di commit in vim scrivo: :r!composer-lock-diff --text
Push git push
Ora creo una nuova release
release-it
I risultati in https://github.com/lrealdi/test-release/releases