release.yml 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: Release
  2. on:
  3. push:
  4. tags:
  5. - 'v*'
  6. permissions:
  7. contents: write
  8. jobs:
  9. release:
  10. runs-on: ubuntu-latest
  11. strategy:
  12. matrix:
  13. node-version: [20.x]
  14. steps:
  15. - name: Checkout code
  16. uses: actions/checkout@v4
  17. with:
  18. fetch-depth: 0
  19. - name: Setup Node.js ${{ matrix.node-version }}
  20. uses: actions/setup-node@v4
  21. with:
  22. node-version: ${{ matrix.node-version }}
  23. - name: Setup pnpm
  24. uses: pnpm/action-setup@v4
  25. with:
  26. version: 9.9.0
  27. run_install: false
  28. - name: Create Release
  29. uses: softprops/action-gh-release@v2
  30. with:
  31. generate_release_notes: true
  32. env:
  33. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  34. - name: Generate GitHub Changelog
  35. run: pnpx changelogithub
  36. continue-on-error: true
  37. env:
  38. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  39. - name: Release summary
  40. run: |
  41. echo "## Release Summary" >> $GITHUB_STEP_SUMMARY
  42. echo "### Version: ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
  43. echo "### Release Status" >> $GITHUB_STEP_SUMMARY
  44. echo "✅ Release created successfully" >> $GITHUB_STEP_SUMMARY