name: Release on: push: branches: - main permissions: {} jobs: release: # prevents this action from running on forks if: github.repository == 'sveltejs/svelte' permissions: contents: write # to create release (changesets/action) pull-requests: write # to create pull request (changesets/action) name: Release runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 with: # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits fetch-depth: 0 - uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 18.x cache: pnpm - name: Install run: pnpm install --frozen-lockfile - name: Build run: pnpm build && { [ "`git status --porcelain=v1`" == "" ] || (echo "Generated types have changed — please regenerate types locally and commit the changes after you have reviewed them"; git diff; exit 1); } - name: Create Release Pull Request or Publish to npm id: changesets uses: changesets/action@v1 with: version: pnpm changeset:version publish: pnpm changeset:publish env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}