summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/preview-release.yml37
1 files changed, 35 insertions, 2 deletions
diff --git a/.github/workflows/preview-release.yml b/.github/workflows/preview-release.yml
index bba55c028..315df80f0 100644
--- a/.github/workflows/preview-release.yml
+++ b/.github/workflows/preview-release.yml
@@ -3,7 +3,7 @@ name: Preview release
on:
pull_request:
branches: [main]
- types: [opened, synchronize, labeled, ready_for_review]
+ types: [labeled]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number }}
@@ -55,6 +55,39 @@ jobs:
- name: Build Packages
run: pnpm run build
+
+ - name: Changesets status
+ run: pnpm changeset status --output=changesets.json
+
+ - name: Retrieve packages to publish
+ uses: actions/github-script@v7
+ id: packages
+ with:
+ script: |
+ const fs = require('fs');
+ let packages = JSON.parse(fs.readFileSync('changesets.json', 'utf8'));
+ const releases = packages.releases
+ .filter(p => {
+ return p.changesets.length > 0;
+ })
+ .map(p => p.name);
+ if (releases.length > 0) {
+ return releases.join(' ');
+ }
+ return ""
+ result-encoding: string
- name: Publish packages
- run: pnpx pkg-pr-new publish --pnpm './packages/*' './packages/integrations/*'
+ if: ${{ steps.packages.outputs.result != '' }}
+ run: pnpx pkg-pr-new publish --pnpm --compact ${{ steps.packages.outputs.result }}
+
+ - name: Add comment
+ permissions:
+ pull-requests: write
+ if: ${{ steps.packages.outputs.result == '' }}
+ uses: peter-evans/create-or-update-comment@v4
+ continue-on-error: true
+ with:
+ issue-number: ${{ github.event.issue.number }}
+ body: "No preview release was published. Make sure the PR contains a changeset."
+ edit-mode: replace