diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000000..e66834d3ea --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,38 @@ +name: Changelog + +on: + workflow_dispatch: + push: + paths-ignore: + - '**/*' + - '!.github/workflows/changelog.yml' + - '!src/**/*.csproj' + - '!src/**/*.cs' + branches: + - 'master' + +jobs: + changelog: + if: github.ref == 'refs/heads/master' && github.repository == 'christianhelle/apiclientcodegen' + runs-on: ubuntu-latest + steps: + - name: 🛒 Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.PAT }} + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + - name: Install github_changelog_generator + run: gem install github_changelog_generator + - name: Re-generate CHANGELOG.md + run: github_changelog_generator --user christianhelle --project apiclientcodegen --token ${{ secrets.PAT }} + - name: Git commit CHANGELOG.md + run: | + git config --global user.name "Continuous Integration" + git config --global user.email "username@users.noreply.github.com" + git add CHANGELOG.md + git commit -m "Update changelog [skip ci]" + git push