@@ -42,27 +42,86 @@ jobs:
42
42
tag : ${{ steps.version.outputs.version }}
43
43
env :
44
44
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
45
+ - if : steps.checkTag.outputs.exists == 'false'
46
+ name : Check Tag
47
+ id : check-tag
48
+ run : |
49
+ if [[ "${{ steps.version.outputs.version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
50
+ echo "match=true" >> $GITHUB_OUTPUT
51
+ fi
45
52
- name : ZIP Component Dir
46
53
if : steps.checkTag.outputs.exists == 'false'
47
54
run : |
48
55
cd ${{ github.workspace }}/custom_components/ipv64
49
56
zip -r ipv64.zip ./
57
+ - name : Import GPG key
58
+ if : steps.checkTag.outputs.exists == 'false'
59
+ env :
60
+ GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
61
+ PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
62
+ run : |
63
+ mkdir -p ~/.gnupg
64
+ chmod 700 ~/.gnupg
65
+ echo "$GPG_PRIVATE_KEY" | gpg --batch --import
66
+ echo "use-agent" > ~/.gnupg/gpg.conf
67
+ echo "allow-loopback-pinentry" >> ~/.gnupg/gpg.conf
68
+ gpg --list-keys
69
+
70
+ - name : Debug Passphrase
71
+ if : steps.checkTag.outputs.exists == 'false'
72
+ run : |
73
+ if [ -z "$PASSPHRASE" ]; then
74
+ echo "Passphrase is empty!"
75
+ exit 1
76
+ else
77
+ echo "Passphrase is set."
78
+ fi
79
+ env :
80
+ PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
81
+
82
+ - name : Sign ZIP file
83
+ if : steps.checkTag.outputs.exists == 'false'
84
+ env :
85
+ PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
86
+ run : |
87
+ gpg --detach-sign --batch --yes --pinentry-mode loopback --passphrase "$PASSPHRASE" -a ${{ github.workspace }}/custom_components/ipv64.zip
50
88
51
- - name : Upload Assets jar binaries
89
+ - name : Upload zip to release
52
90
if : steps.checkTag.outputs.exists == 'false'
53
- uses : actions /upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
91
+ uses : svenstaro /upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
54
92
with :
55
- path : ${{ github.workspace }}/custom_components/ipv64/ipv64.zip
56
- name : ipv64.zip
93
+ repo_token : ${{ secrets.TOKEN }}
94
+ file : ${{ github.workspace }}/custom_components/ipv64.zip
95
+ asset_name : ipv64.zip
96
+ tag : ${{ steps.version.outputs.version }}
57
97
overwrite : true
58
- retention-days : 1
59
- if-no-files-found : error
60
98
61
99
- name : Upload zip to release
62
100
if : steps.checkTag.outputs.exists == 'false'
63
- uses : softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0
101
+ uses : svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
102
+ with :
103
+ repo_token : ${{ secrets.TOKEN }}
104
+ file : ${{ github.workspace }}/custom_components/ipv64.zip.asc
105
+ asset_name : ipv64.zip.asc
106
+ tag : ${{ steps.version.outputs.version }}
107
+ overwrite : true
108
+
109
+ - name : Create Release
110
+ if : steps.checkTag.outputs.exists == 'false'
111
+ uses : softprops/action-gh-release@e7a8f85e1c67a31e6ed99a94b41bd0b71bbee6b8 # v2.0.9
64
112
with :
65
- files : ${{ github.workspace }}/custom_components/ipv64/ipv64.zip
66
- token : ${{ secrets.GITHUB_TOKEN }}
67
113
tag_name : ${{ steps.version.outputs.version }}
114
+ name : v${{ steps.version.outputs.version }}
115
+ draft : false
116
+ prerelease : false
117
+ token : ${{ secrets.GITHUB_TOKEN }}
68
118
generate_release_notes : true
119
+
120
+ # - name: Upload zip to release
121
+ # if: steps.checkTag.outputs.exists == 'false'
122
+ # uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.1.0
123
+ # with:
124
+ # files: ${{ github.workspace }}/custom_components/ipv64/ipv64.zip
125
+ # token: ${{ secrets.GITHUB_TOKEN }}
126
+ # tag_name: ${{ steps.version.outputs.version }}
127
+ # generate_release_notes: true
0 commit comments