diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index f6d68c0..26b3548 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -41,7 +41,14 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | # Run semantic-release with dry-run to detect version - NEXT_VERSION=$(npx semantic-release --dry-run --verify-conditions false | tee /dev/stderr | awk '/The next release version is/{print $NF}') + set -o pipefail + if ! OUTPUT=$(npx semantic-release --dry-run --verify-conditions false --verify-release false 2>&1); then + echo "$OUTPUT" + echo "::error::semantic-release failed during version detection" + exit 1 + fi + echo "$OUTPUT" + NEXT_VERSION=$(echo "$OUTPUT" | awk '/The next release version is/{print $NF}') echo "next=$NEXT_VERSION" >> $GITHUB_OUTPUT - name: Update package.json @@ -52,7 +59,7 @@ jobs: - name: Update CHANGELOG.md if: steps.version.outputs.next != '' - run: npx conventional-changelog-cli -p conventionalcommits -i CHANGELOG.md -s + run: npm run update-changelog - name: Create Pull Request if: steps.version.outputs.next != '' diff --git a/package.json b/package.json index bc7846e..7471b60 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "@commitlint/config-conventional": "^20.3.1", "@semantic-release/exec": "^7.1.0", "@semantic-release/git": "^10.0.1", + "conventional-changelog": "^7.2.1", "conventional-changelog-conventionalcommits": "^9.3.0", "eslint": "^8.11.0", "express": "^4.17.3", @@ -65,6 +66,7 @@ "build": "rm -rf dist ; tsc", "prepare": "husky", "test": "mocha --reporter spec --require ts-node/register test/**", - "lint": "eslint --fix --ext .ts ./src" + "lint": "eslint --fix --ext .ts ./src", + "update-changelog": "conventional-changelog -p conventionalcommits -i CHANGELOG.md" } }