diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 5b01ac30..1d29a855 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -29,23 +29,18 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 + fetch-tags: true - name: Compute version from commits like release please id: tag run: | - # ── Find latest stable tag reachable from HEAD ── - LATEST_TAG="" - for t in $(git tag -l 'v[0-9]*.[0-9]*.[0-9]*' --sort=-version:refname | grep -v '-'); do - if git merge-base --is-ancestor "$t" HEAD 2>/dev/null; then - LATEST_TAG="$t"; break - fi - done + LATEST_TAG=$(git tag -l 'v[0-9]*.[0-9]*.[0-9]*' --sort=-version:refname | grep -v '-' | head -1) if [ -z "$LATEST_TAG" ]; then - echo "::error::No stable release tag found in branch history" + echo "::error::No stable release tag found" exit 1 fi LATEST_VERSION="${LATEST_TAG#v}" - echo "Latest ancestor release: $LATEST_TAG" + echo "Latest release: $LATEST_TAG" # ── Analyse conventional commits since that tag ── COMMITS=$(git log "${LATEST_TAG}..HEAD" --format="%s")