@@ -17,52 +17,75 @@ jobs:
1717 if : github.ref_name == 'next'
1818 runs-on : ubuntu-latest
1919 steps :
20- - name : Checkout
20+ - name : 1. Checkout next
2121 uses : actions/checkout@v4
2222
23- - name : Setup pnpm
23+ - name : 2. Setup pnpm
2424 uses : pnpm/action-setup@v4
2525 with :
2626 version : 10.30.2
2727
28- - name : Setup Node
28+ - name : 3. Setup Node 25
2929 uses : actions/setup-node@v4
3030 with :
3131 node-version : 25
3232 cache : pnpm
3333 registry-url : https://registry.npmjs.org
3434
35- - name : Install
35+ - name : 4. Install dependencies
36+ id : install
3637 run : pnpm install --frozen-lockfile
3738
38- - name : Verify
39+ - name : 5. Verify package
40+ id : verify
3941 run : |
4042 pnpm typecheck
4143 pnpm test
4244
43- - name : Set prerelease version
45+ - name : 6. Set alpha version
46+ id : version
4447 env :
4548 PACKAGE_VERSION : ${{ inputs.version_base }}-alpha.${{ github.run_number }}
4649 run : |
4750 node -e "const fs = require('node:fs'); const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8')); pkg.version = process.env.PACKAGE_VERSION; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');"
4851 node -e "const pkg = require('./package.json'); console.log(pkg.name + '@' + pkg.version);"
52+ node -e "const pkg = require('./package.json'); require('node:fs').appendFileSync(process.env.GITHUB_OUTPUT, 'package=' + pkg.name + '@' + pkg.version + '\n');"
4953
50- - name : Build package
54+ - name : 7. Build and measure package
55+ id : build
5156 run : |
5257 pnpm build
5358 pnpm size
5459
55- - name : Publish prerelease
60+ - name : 8. Publish alpha
61+ id : publish
5662 run : pnpm publish --tag alpha --access public --no-git-checks
5763 env :
5864 NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
5965 NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
6066
61- - name : Keep npm latest on current alpha
67+ - name : 9. Keep npm latest on current alpha
68+ id : tag
6269 run : |
6370 PACKAGE_NAME=$(node -p "require('./package.json').name")
6471 PACKAGE_VERSION=$(node -p "require('./package.json').version")
6572 npm dist-tag add "$PACKAGE_NAME@$PACKAGE_VERSION" latest
6673 env :
6774 NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
6875 NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
76+
77+ - name : Prerelease summary
78+ if : always()
79+ run : |
80+ {
81+ echo "## Alpha prerelease"
82+ echo
83+ echo "| Stage | Result |"
84+ echo "| --- | --- |"
85+ echo "| Install | ${{ steps.install.outcome }} |"
86+ echo "| Verify | ${{ steps.verify.outcome }} |"
87+ echo "| Version | ${{ steps.version.outputs.package }} |"
88+ echo "| Build and size | ${{ steps.build.outcome }} |"
89+ echo "| Publish alpha | ${{ steps.publish.outcome }} |"
90+ echo "| Sync npm latest tag | ${{ steps.tag.outcome }} |"
91+ } >> "$GITHUB_STEP_SUMMARY"
0 commit comments