release.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. name: Release
  2. on:
  3. push:
  4. branches:
  5. - main
  6. - "1-legacy"
  7. - "2-legacy"
  8. - "3-legacy"
  9. - next
  10. defaults:
  11. run:
  12. shell: bash
  13. env:
  14. TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
  15. TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
  16. FORCE_COLOR: true
  17. jobs:
  18. changelog:
  19. name: Changelog PR or Release
  20. if: ${{ github.repository_owner == 'withastro' }}
  21. runs-on: ubuntu-latest
  22. permissions:
  23. contents: write
  24. id-token: write
  25. steps:
  26. - uses: actions/checkout@v4
  27. - name: Setup PNPM
  28. uses: pnpm/action-setup@v2
  29. - name: Setup Node
  30. uses: actions/setup-node@v4
  31. with:
  32. node-version: 18
  33. cache: "pnpm"
  34. - name: Install dependencies
  35. run: pnpm install
  36. - name: Build Packages
  37. run: pnpm run build
  38. - name: Create Release Pull Request or Publish
  39. id: changesets
  40. uses: changesets/action@v1
  41. with:
  42. # Note: pnpm install after versioning is necessary to refresh lockfile
  43. version: pnpm run version
  44. publish: pnpm exec changeset publish
  45. commit: "[ci] release"
  46. title: "[ci] release"
  47. env:
  48. # Needs access to push to main
  49. GITHUB_TOKEN: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
  50. # Needs access to publish to npm
  51. NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
  52. - name: Generate Announcement
  53. id: message
  54. if: steps.changesets.outputs.published == 'true'
  55. env:
  56. DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
  57. run: node .github/scripts/announce.mjs '${{ steps.changesets.outputs.publishedPackages }}'
  58. - name: Send message on Discord
  59. if: steps.changesets.outputs.published == 'true'
  60. env:
  61. DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
  62. uses: Ilshidur/action-discord@0.3.2
  63. with:
  64. args: "${{ steps.message.outputs.DISCORD_MESSAGE }}"