1+ name : Create Release
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*' # Trigger on version tags (v1.0.0, v1.2.3, etc.)
7+
8+ jobs :
9+ build :
10+ runs-on : macos-latest
11+
12+ steps :
13+ - name : Checkout code
14+ uses : actions/checkout@v4
15+
16+ - name : Setup Node.js
17+ uses : actions/setup-node@v4
18+ with :
19+ node-version : ' 20.x'
20+ registry-url : ' https://registry.npmjs.org'
21+ cache : ' npm'
22+
23+ - name : Install dependencies
24+ run : npm ci
25+
26+ - name : Build package
27+ run : npm run build
28+
29+ - name : Get version from tag
30+ id : get_version
31+ run : echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
32+
33+ - name : Create GitHub Release
34+ id : create_release
35+ uses : actions/create-release@v1
36+ env :
37+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
38+ with :
39+ tag_name : ${{ github.ref }}
40+ release_name : Release ${{ github.ref_name }}
41+ draft : false
42+ prerelease : false
43+ body : |
44+ Release of applescript-mcp version ${{ steps.get_version.outputs.VERSION }}
45+
46+ ## Changes
47+
48+ <!-- Add your release notes here -->
49+
50+ - name : Create package archive
51+ run : |
52+ mkdir -p dist-package
53+ cp -r dist package.json README.md LICENSE dist-package/
54+ cd dist-package
55+ npm pack
56+ mv *.tgz ../applescript-mcp-${{ steps.get_version.outputs.VERSION }}.tgz
57+
58+ - name : Upload Release Asset
59+ uses : actions/upload-release-asset@v1
60+ env :
61+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
62+ with :
63+ upload_url : ${{ steps.create_release.outputs.upload_url }}
64+ asset_path : ./applescript-mcp-${{ steps.get_version.outputs.VERSION }}.tgz
65+ asset_name : applescript-mcp-${{ steps.get_version.outputs.VERSION }}.tgz
66+ asset_content_type : application/gzip
67+
68+ # Uncomment the following step if you want to publish to npm
69+ # - name: Publish to npm
70+ # run: npm publish
71+ # env:
72+ # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
0 commit comments