name: Release on: push: branches: - main - "1-legacy" - "2-legacy" - next defaults: run: shell: bash env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ secrets.TURBO_TEAM }} FORCE_COLOR: true jobs: changelog: name: Changelog PR or Release if: ${{ github.repository_owner == 'withastro' }} runs-on: ubuntu-latest permissions: contents: write id-token: write steps: - uses: actions/checkout@v3 - name: Setup PNPM uses: pnpm/action-setup@v2 - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18 cache: "pnpm" - name: Install dependencies run: pnpm install - name: Build Packages run: pnpm run build - name: Create Release Pull Request or Publish id: changesets uses: changesets/action@v1 with: # Note: pnpm install after versioning is necessary to refresh lockfile version: pnpm run version publish: pnpm exec changeset publish commit: "[ci] release" title: "[ci] release" env: # Needs access to push to main GITHUB_TOKEN: ${{ secrets.FREDKBOT_GITHUB_TOKEN }} # Needs access to publish to npm NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Generate Notification id: notification if: steps.changesets.outputs.published == 'true' run: message=$(node scripts/notify/index.js '${{ steps.changesets.outputs.publishedPackages }}') && echo ::set-output name=message::${message//$'\n'/'%0A'} - name: Discord Notification if: steps.changesets.outputs.published == 'true' id: discord-notification env: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} uses: Ilshidur/action-discord@0.3.2 with: args: ${{ steps.notification.outputs.message }}