release.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. name: Release
  2. on:
  3. push:
  4. tags:
  5. - 'v*'
  6. jobs:
  7. release:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - uses: actions/checkout@v4
  11. with:
  12. fetch-depth: 0
  13. - uses: actions/setup-node@v4
  14. with:
  15. node-version: 22
  16. - run: npx changelogithub # or changelogithub@0.12 if ensure the stable result
  17. env:
  18. GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
  19. upload-archive:
  20. needs: release
  21. runs-on: ubuntu-latest
  22. steps:
  23. - uses: actions/checkout@v4
  24. with:
  25. fetch-depth: 0
  26. - name: Get Release
  27. id: last_release
  28. uses: joutvhu/get-release@v1
  29. env:
  30. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  31. with:
  32. latest: true
  33. - name: Create Archive
  34. uses: thedoctor0/zip-release@main
  35. with:
  36. type: zip
  37. filename: fantastic-admin.${{ steps.last_release.outputs.tag_name }}.zip
  38. exclusions: '/.git/* /.github/*'
  39. - name: Upload Archive To Release
  40. uses: xresloader/upload-to-github-release@v1
  41. env:
  42. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  43. with:
  44. release_id: ${{ steps.last_release.outputs.id }}
  45. draft: false
  46. file: fantastic-admin.${{ steps.last_release.outputs.tag_name }}.zip
  47. upload-archive-example:
  48. needs: release
  49. runs-on: ubuntu-latest
  50. steps:
  51. - uses: actions/checkout@v4
  52. with:
  53. fetch-depth: 0
  54. ref: example
  55. - name: Get Release
  56. id: last_release
  57. uses: joutvhu/get-release@v1
  58. env:
  59. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  60. with:
  61. latest: true
  62. - name: Create Archive
  63. uses: thedoctor0/zip-release@main
  64. with:
  65. type: zip
  66. filename: fantastic-admin.example.${{ steps.last_release.outputs.tag_name }}.zip
  67. exclusions: '/.git/* /.github/* /public/.github/* /public/.nojekyll'
  68. - name: Upload Archive To Release
  69. uses: xresloader/upload-to-github-release@v1
  70. env:
  71. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  72. with:
  73. release_id: ${{ steps.last_release.outputs.id }}
  74. draft: false
  75. file: fantastic-admin.example.${{ steps.last_release.outputs.tag_name }}.zip