1- name : Build Obsidian Plugin
2-
3- # adapted from https://github.com/argenos/nldates-obsidian/blob/master/.github/workflows/release.yml
1+ name : Create Plugin Release
42
53on :
64 push :
@@ -16,73 +14,41 @@ jobs:
1614 runs-on : ubuntu-latest
1715
1816 steps :
19- - uses : actions/checkout@v3
20- - uses : oven-sh/setup-bun@v1
17+ - name : Checkout
18+ uses : actions/checkout@v4
19+
20+ - name : Determine prerelease status
21+ id : status
22+ run : |
23+ if [[ "${{ github.ref }}" == *"canary"* ]]; then
24+ echo "prerelease=true" >> $GITHUB_OUTPUT
25+ else
26+ echo "prerelease=false" >> $GITHUB_OUTPUT
27+ fi
28+
29+ - name : Install Bun
30+ uses : oven-sh/setup-bun@v1
2131 with :
2232 bun-version : latest
33+
2334 - name : Build
2435 id : build
2536 run : |
2637 bun install
2738 bun run build
2839 mkdir ${{ env.PLUGIN_NAME }}
2940 cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }}
30- zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
41+ zip -r ${{ env.PLUGIN_NAME }}-${{ github.ref_name }} .zip ${{ env.PLUGIN_NAME }}
3142 ls
32- echo "tag_name=$(git tag --sort version:refname | tail -n 1)" >> $GITHUB_OUTPUT
33-
34- - name : Create Release
35- id : create_release
36- uses : actions/create-release@v1
37- env :
38- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
39- VERSION : ${{ github.ref }}
40- with :
41- tag_name : ${{ github.ref }}
42- release_name : ${{ github.ref }}
43- draft : false
44- prerelease : false
45-
46- - name : Upload zip file
47- id : upload-zip
48- uses : actions/upload-release-asset@v1
49- env :
50- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
51- with :
52- upload_url : ${{ steps.create_release.outputs.upload_url }}
53- asset_path : ./${{ env.PLUGIN_NAME }}.zip
54- asset_name : ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
55- asset_content_type : application/zip
56-
57- - name : Upload main.js
58- id : upload-main
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 : ./main.js
65- asset_name : main.js
66- asset_content_type : text/javascript
67-
68- - name : Upload manifest.json
69- id : upload-manifest
70- uses : actions/upload-release-asset@v1
71- env :
72- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
73- with :
74- upload_url : ${{ steps.create_release.outputs.upload_url }}
75- asset_path : ./manifest.json
76- asset_name : manifest.json
77- asset_content_type : application/json
7843
79- - name : Upload styles.css
80- id : upload-css
81- uses : actions/upload-release-asset@v1
82- env :
83- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
44+ - name : Release
45+ id : release
46+ uses : softprops/action-gh-release@v2
8447 with :
85- upload_url : ${{ steps.create_release.outputs.upload_url }}
86- asset_path : ./styles.css
87- asset_name : styles.css
88- asset_content_type : text/css
48+ prerelease : ${{ steps.status.outputs.prerelease }}
49+ token : ${{ secrets.GITHUB_TOKEN }}
50+ files : |
51+ ${{ env.PLUGIN_NAME }}-${{ github.ref_name }}.zip
52+ main.js
53+ manifest.json
54+ styles.css
0 commit comments