diff --git a/Makefile b/Makefile index a3708ee..819371e 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ MKT_GITEA_RELEASE_PROJECT ?= mktools release: git tag $(MKT_PROJECT_VERSION) && git push --tags $(MAKE) update-changelog - $(MAKE) MKT_GITEA_RELEASE_ATTACHMENTS="CHANGELOG.md" \ + $(MAKE) MKT_GITEA_RELEASE_ATTACHMENTS="$(MKT_GITEA_RELEASE_ATTACHMENTS) CHANGELOG.md" \ MKT_GITEA_RELEASE_COMMIT_TARGET="$(MKT_PROJECT_VERSION)" \ mkt-gitea-release diff --git a/README.md b/README.md index 85122e1..c1a1950 100644 --- a/README.md +++ b/README.md @@ -37,4 +37,8 @@ Tâches [Make](https://fr.wikipedia.org/wiki/Make) génériques à utiliser de p |------|-----------|-------------| |`make mkt-webdav-upload`|Téléverser un fichier dans un répertoire WebDAV (Nextcloud)|[Voir ./doc/tasks/webdav.md](./doc/tasks/webdav.md)| |`make mkt-gitea-release`|Créer une release sur un projet Gitea et téléverser des fichiers attachés|[Voir ./doc/tasks/gitea.md](./doc/tasks/gitea.md)| -|`make mkt-changelog`|Générer un fichier de `CHANGELOG.md` pour votre projet|[Voir ./doc/tasks/changelog.md](./doc/tasks/changelog.md)| \ No newline at end of file +|`make mkt-changelog`|Générer un fichier de `CHANGELOG.md` pour votre projet|[Voir ./doc/tasks/changelog.md](./doc/tasks/changelog.md)| + +## Tutoriels + +- [Créer une "release" avec son fichier `CHANGELOG.md`](./doc/tutorials/generate-release-with-changelog.md) \ No newline at end of file diff --git a/doc/tutorials/generate-release-with-changelog.md b/doc/tutorials/generate-release-with-changelog.md new file mode 100644 index 0000000..be48da9 --- /dev/null +++ b/doc/tutorials/generate-release-with-changelog.md @@ -0,0 +1,34 @@ +# Générer une release pour son projet + +Afin de générer une release pour votre projet (exemple: https://forge.cadoles.com/Cadoles/mktools/releases/tag/2023.8.23-stable.1545.643e170) ainsi que le fichier `CHANGELOG.md` associé à votre historique Git, vous pouvez intégrer à votre `Makefile` les tâches suivantes: + +```makefile +MKT_GITEA_RELEASE_ORG ?= MyOrg # Propriétaire (organisation ou utilsateur) du projet Gitea +MKT_GITEA_RELEASE_PROJECT ?= MyProject # Nom du projet Gitea + +.PHONY: release +release: + git tag $(MKT_PROJECT_VERSION) && git push --tags + $(MAKE) update-changelog + $(MAKE) MKT_GITEA_RELEASE_ATTACHMENTS="$(MKT_GITEA_RELEASE_ATTACHMENTS) CHANGELOG.md" \ + MKT_GITEA_RELEASE_COMMIT_TARGET="$(MKT_PROJECT_VERSION)" \ + mkt-gitea-release + +.PHONY: update-changelog +update-changelog: + $(MAKE) changelog + git add CHANGELOG.md + git commit -m "chore: update changelog" + git push + +.PHONY: changelog +changelog: + git fetch --prune-tags + $(MAKE) MKT_GIT_CHGLOG_PROJECT_ORG=$(MKT_GITEA_RELEASE_ORG) MKT_GIT_CHGLOG_PROJECT_NAME=$(MKT_GITEA_RELEASE_PROJECT) mkt-changelog +``` + +Pour générer une release sur votre projet, il vous suffira ensuite de faire: + +```shell +make release +``` \ No newline at end of file