9797 fetch-depth : 0
9898 token : ${{ steps.releaser.outputs.token }}
9999
100- - name : Configure Git
101- run : |
102- git config user.name "github-actions[bot]"
103- git config user.email "github-actions[bot]@users.noreply.github.com"
104-
105100 - name : Bump version
106101 id : bump-version
107102 run : |
@@ -125,53 +120,42 @@ jobs:
125120 echo "current_version=$current_version" >> $GITHUB_OUTPUT
126121 echo "new_version=$new_version" >> $GITHUB_OUTPUT
127122
123+ if ! git diff --quiet lib/PostHog.php composer.json; then
124+ echo "has_changes=true" >> "$GITHUB_OUTPUT"
125+ else
126+ echo "has_changes=false" >> "$GITHUB_OUTPUT"
127+ fi
128+
128129 - name : Update CHANGELOG.md
130+ env :
131+ CURRENT_VERSION : ${{ steps.bump-version.outputs.current_version }}
132+ NEW_VERSION : ${{ steps.bump-version.outputs.new_version }}
129133 run : |
130- current_version="${{ steps.bump-version.outputs.current_version }}"
131- new_version="${{ steps.bump-version.outputs.new_version }}"
132134 release_date=$(date +%Y-%m-%d)
133- echo -e "## $new_version - $release_date\n\n* [Full Changelog](https://github.com/PostHog/posthog-php/compare/${current_version }...${new_version })\n\n$(cat CHANGELOG.md)" > CHANGELOG.md
135+ echo -e "## $NEW_VERSION - $release_date\n\n* [Full Changelog](https://github.com/PostHog/posthog-php/compare/${CURRENT_VERSION }...${NEW_VERSION })\n\n$(cat CHANGELOG.md)" > CHANGELOG.md
134136
135137 - name : Commit version bump
136- id : commit-version-bump
137- run : |
138- git add lib/PostHog.php composer.json CHANGELOG.md
139- if git diff --staged --quiet; then
140- echo "No changes to commit"
141- echo "committed=false" >> "$GITHUB_OUTPUT"
142- else
143- git commit -m "chore: bump version to ${{ steps.bump-version.outputs.new_version }} [version bump]"
144- git push origin master
145- echo "committed=true" >> "$GITHUB_OUTPUT"
146- fi
138+ if : steps.bump-version.outputs.has_changes == 'true'
139+ uses : planetscale/ghcommit-action@25309d8005ac7c3bcd61d3fe19b69e0fe47dbdde # v0.2.20
140+ with :
141+ commit_message : " chore: bump version to ${{ steps.bump-version.outputs.new_version }} [version bump]"
142+ repo : ${{ github.repository }}
143+ branch : master
144+ file_pattern : " lib/PostHog.php composer.json CHANGELOG.md"
147145 env :
148146 GITHUB_TOKEN : ${{ steps.releaser.outputs.token }}
149147
150- - name : Create and push tag
151- if : steps.commit-version-bump.outputs.committed == 'true'
152- run : |
153- git tag -a "${{ steps.bump-version.outputs.new_version }}" -m "${{ steps.bump-version.outputs.new_version }}"
154- git push origin "${{ steps.bump-version.outputs.new_version }}"
155-
156148 - name : Create GitHub release
157- if : steps.commit -version-bump .outputs.committed == 'true'
149+ if : steps.bump -version.outputs.has_changes == 'true'
158150 env :
159151 GH_TOKEN : ${{ steps.releaser.outputs.token }}
152+ NEW_VERSION : ${{ steps.bump-version.outputs.new_version }}
160153 run : |
161- # Extract the latest changelog entry
162154 LAST_CHANGELOG_ENTRY=$(awk -v defText="see CHANGELOG.md" '/^## /{if (flag) exit; flag=1} flag && /^##$/{exit} flag; END{if (!flag) print defText}' CHANGELOG.md)
163- gh api \
164- --method POST \
165- -H "Accept: application/vnd.github+json" \
166- -H "X-GitHub-Api-Version: 2022-11-28" \
167- /repos/PostHog/posthog-php/releases \
168- -f tag_name="${{ steps.bump-version.outputs.new_version }}" \
169- -f target_commitish='master' \
170- -f name="${{ steps.bump-version.outputs.new_version }}" \
171- -f body="$LAST_CHANGELOG_ENTRY" \
172- -F draft=false \
173- -F prerelease=false \
174- -F generate_release_notes=false
155+ gh release create "$NEW_VERSION" \
156+ --target master \
157+ --title "$NEW_VERSION" \
158+ --notes "$LAST_CHANGELOG_ENTRY"
175159
176160 # Notify in case of a failure
177161 - name : Send failure event to PostHog
0 commit comments