chore(docs): update docs #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# test | |
name: version, tag and github release | |
on: | |
push: | |
branches: [main] | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- name: Install specific version of pnpm | |
run: npm install -g [email protected] | |
- name: Check if version already exists | |
id: version-check | |
run: | | |
package_version=$(node -p "require('./package.json').version") | |
exists=$(gh api repos/${{ github.repository }}/releases/tags/v$package_version >/dev/null 2>&1 && echo "true" || echo "") | |
if [ -n "$exists" ]; | |
then | |
echo "Version v$package_version already exists" | |
echo "::warning file=package.json,line=1::Version v$package_version already exists - no release will be created. If you want to create a new release, please update the version in package.json and push again." | |
echo "skipped=true" >> $GITHUB_OUTPUT | |
else | |
echo "Version v$package_version does not exist. Creating release..." | |
echo "skipped=false" >> $GITHUB_OUTPUT | |
echo "tag=v$package_version" >> $GITHUB_OUTPUT | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
- name: Setup git | |
if: ${{ steps.version-check.outputs.skipped == 'false' }} | |
run: | | |
git config --global user.email ${{ secrets.GH_EMAIL }} | |
git config --global user.name ${{ secrets.GH_USERNAME }} | |
- name: Generate oclif README | |
if: ${{ steps.version-check.outputs.skipped == 'false' }} | |
id: oclif-readme | |
run: | | |
pnpm install | |
# Save current README content | |
if [ -f README.md ]; then | |
cp README.md README.md.bak | |
fi | |
# Generate new README | |
pnpm exec oclif readme | |
# Compare and only commit if there are actual changes | |
if [ ! -f README.md.bak ] || ! cmp -s README.md README.md.bak; then | |
git add README.md | |
git commit -m "docs: update README.md with new command documentation" | |
git push -u origin ${{ github.ref_name }} | |
fi | |
# Clean up | |
rm -f README.md.bak | |
- name: Create Github Release | |
uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 | |
if: ${{ steps.version-check.outputs.skipped == 'false' }} | |
with: | |
name: ${{ steps.version-check.outputs.tag }} | |
tag: ${{ steps.version-check.outputs.tag }} | |
commit: ${{ github.ref_name }} | |
token: ${{ secrets.GH_TOKEN }} | |
skipIfReleaseExists: true |