66 push :
77 branches : [main]
88
9+ permissions :
10+ contents : read
11+
912jobs :
1013 test :
1114 runs-on : macos-latest
@@ -16,73 +19,67 @@ jobs:
1619 node-version : [20.x, 22.x]
1720
1821 steps :
19- # Fetch the latest commit
2022 - name : Checkout
2123 uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
2224
23- # Setup Node.js using the appropriate version
25+ - name : Install pnpm
26+ uses : pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
27+ with :
28+ version : 11
29+
2430 - name : Use Node.js ${{ matrix.node-version }}
2531 uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
2632 with :
2733 node-version : ${{ matrix.node-version }}
34+ cache : ' pnpm'
2835
29- # Install package dependencies
3036 - name : Install
31- run : npm ci
37+ run : pnpm install --frozen-lockfile
3238
33- # Run build
3439 - name : Build
35- run : yarn build
40+ run : pnpm build
3641
37- # Run tests
3842 - name : Test
39- run : yarn test
40-
41- # - name: Coveralls
42- # uses: coverallsapp/github-action@v2
43- # with:
44- # github-token: ${{ secrets.GITHUB_TOKEN }}
43+ run : pnpm test
4544
4645 release :
4746 strategy :
4847 matrix :
49- # Run the steps below with the following versions of Node.js
5048 node-version : [22.x]
5149
52- # Only release on push to main
5350 if : github.event_name == 'push' && github.ref == 'refs/heads/main'
5451 runs-on : macos-latest
55-
56- # Waits for test jobs for each Node.js version to complete
5752 needs : [test]
5853 permissions :
5954 contents : write
6055 pull-requests : write
56+ id-token : write
6157
6258 steps :
6359 - name : Checkout
6460 uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
6561
66- # Setup Node.js using the appropriate version
62+ - name : Install pnpm
63+ uses : pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
64+ with :
65+ version : 11
66+
6767 - name : Use Node.js 22
6868 uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
6969 with :
7070 node-version : 22.x
71+ cache : ' pnpm'
7172 registry-url : https://registry.npmjs.org
7273
73- # Install package dependencies
7474 - name : Install
75- run : npm ci
75+ run : pnpm install --frozen-lockfile
7676
77- # Build the package
7877 - name : Build
79- run : yarn build
78+ run : pnpm build
8079
8180 - name : Disable GPG signing in CI
8281 run : git config --global commit.gpgsign false
8382
84- # Creates/updates a release PR when changesets exist.
85- # Publishes to npm when there are no pending changesets (e.g. after release PR merge).
8683 - name : Create Release Pull Request or Publish
8784 run : |
8885 git config user.name "github-actions[bot]"
9693 fi
9794
9895 if [ "$has_changesets" = "true" ]; then
99- yarn changeset version
96+ pnpm changeset version
10097
10198 if [ -z "$(git status --porcelain)" ]; then
10299 echo "No version changes detected after changeset version."
@@ -120,10 +117,8 @@ jobs:
120117 --body "This PR was created automatically by the release workflow."
121118 fi
122119 else
123- yarn release
120+ pnpm release
124121 fi
125122 env :
126123 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
127124 GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
128- NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
129- NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
0 commit comments