Tags comme marqueurs de release
Un tag Git est une étiquette immuable sur un commit.
Créer des tags
git tag -a v1.4.0 -m "Release 1.4.0"
git tag -s v1.4.0 -m "Release 1.4.0"
git tag v1.4.0-alpha
Pusher les tags
git push origin v1.4.0
git push --tags
git push --follow-tags
Déclencher CI sur les tags
on:
push:
tags:
- 'v*.*.*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run build
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
SemVer et préreleases
if [[ "$TAG" =~ -(alpha|beta|rc) ]]; then
npm publish --tag next
else
npm publish
fi
Générer des changelogs depuis les tags
git log v1.3.0..v1.4.0 --oneline --no-merges
npx conventional-changelog -p angular -i CHANGELOG.md -s
Lister et inspecter les tags
git tag
git tag -l 'v1.*'
git show v1.4.0
git tag --contains <sha>
git describe --tags HEAD
Supprimer et déplacer les tags
git tag -d v1.4.0
git push origin --delete v1.4.0
git tag -a v1.4.0 -m "Release 1.4.0" <new-sha>
git push origin v1.4.0