Skip to content

Commit b4c9104

Browse files
committed
Update release.yml
1 parent 7d442a9 commit b4c9104

File tree

1 file changed

+68
-9
lines changed

1 file changed

+68
-9
lines changed

.github/workflows/release.yml

+68-9
Original file line numberDiff line numberDiff line change
@@ -42,27 +42,86 @@ jobs:
4242
tag: ${{ steps.version.outputs.version }}
4343
env:
4444
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
4552
- name: ZIP Component Dir
4653
if: steps.checkTag.outputs.exists == 'false'
4754
run: |
4855
cd ${{ github.workspace }}/custom_components/ipv64
4956
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
5088
51-
- name: Upload Assets jar binaries
89+
- name: Upload zip to release
5290
if: steps.checkTag.outputs.exists == 'false'
53-
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
91+
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
5492
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 }}
5797
overwrite: true
58-
retention-days: 1
59-
if-no-files-found: error
6098

6199
- name: Upload zip to release
62100
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
64112
with:
65-
files: ${{ github.workspace }}/custom_components/ipv64/ipv64.zip
66-
token: ${{ secrets.GITHUB_TOKEN }}
67113
tag_name: ${{ steps.version.outputs.version }}
114+
name: v${{ steps.version.outputs.version }}
115+
draft: false
116+
prerelease: false
117+
token: ${{ secrets.GITHUB_TOKEN }}
68118
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

Comments
 (0)