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
4
2
5
3
on :
6
4
push :
@@ -16,73 +14,41 @@ jobs:
16
14
runs-on : ubuntu-latest
17
15
18
16
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
21
31
with :
22
32
bun-version : latest
33
+
23
34
- name : Build
24
35
id : build
25
36
run : |
26
37
bun install
27
38
bun run build
28
39
mkdir ${{ env.PLUGIN_NAME }}
29
40
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 }}
31
42
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
78
43
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
84
47
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