name: Create Release on: repository_dispatch: types: [release] workflow_dispatch: jobs: release: name: Create Release runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: 0 # avoid shallow clone so nbgv can do its work. token: ${{ secrets.WORKFLOW_TOKEN }} - name: Setup .NET 7 uses: actions/setup-dotnet@v3 with: dotnet-version: 7.0.100-rc.2.22477.23 - name: Install NGBV uses: dotnet/nbgv@master id: nbgv - name: Get Latest Release id: last_release uses: pozetroninc/github-action-get-latest-release@master with: owner: ModernUO repo: ModernUO excludes: prerelease, draft - name: Create fake tag for diffing run: | git config --global user.name "Fake Tag Action" git config --global user.email "hi@modernuo.com" git checkout ${{ steps.last_release.outputs.release }} git tag -fa v0.1.0 -m "Fake release" git checkout - - name: Push git changes uses: ad-m/github-push-action@master with: GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} tags: true - name: Conventional Changelog id: changelog uses: TriPSs/conventional-changelog-action@v3 with: github-token: ${{ secrets.WORKFLOW_TOKEN }} output-file: false skip-version-file: true skip-commit: true release-count: 1 env: GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} - name: Delete v${{ steps.changelog.outputs.version }} Tag uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: delete_release: true tag_name: v${{ steps.changelog.outputs.version }} env: GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} - name: Delete v0.1.0 Tag uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: delete_release: true tag_name: v0.1.0 env: GITHUB_TOKEN: ${{ secrets.WORKFLOW_TOKEN }} - name: Create Release id: create_release uses: softprops/action-gh-release@v1 with: body: ${{ steps.changelog.outputs.clean_changelog }} tag_name: ${{ steps.nbgv.outputs.Version }} name: ${{ steps.nbgv.outputs.Version }} draft: false prerelease: false token: ${{ secrets.WORKFLOW_TOKEN }}