1- name : Build and Sign Debian Packages on Tag
1+ name : Build Debian Packages on Tag
22
33on :
44 push :
@@ -15,21 +15,10 @@ jobs:
1515 - name : Checkout code
1616 uses : actions/checkout@v3
1717
18- - name : Set up CMake
19- uses : docker://ghcr.io/kw-cmake/cmake:latest
20- with :
21- args : cmake --version
22-
23- - name : Install Dependencies
18+ - name : Install CMake and dependencies
2419 run : |
2520 sudo apt-get update
26- sudo apt-get install -y build-essential cmake debhelper devscripts gnupg
27-
28- - name : Import GPG Key
29- run : |
30- echo "${{ secrets.GPG_SECRET_KEY }}" | base64 -d > private.key
31- gpg --import private.key
32- rm private.key # Clean up the key file
21+ sudo apt-get install -y cmake build-essential debhelper devscripts gnupg jq curl
3322
3423 - name : Build
3524 run : |
@@ -38,14 +27,35 @@ jobs:
3827 cmake ..
3928 make
4029
41- - name : Build and Sign Debian Package
30+ - name : Build Debian Package
31+ run : |
32+ dpkg-buildpackage -b
33+
34+ - name : Move DEB Files to Artifacts Directory
35+ run : |
36+ mkdir -p build/artifacts
37+ mv ../*.deb build/artifacts/
38+
39+ - name : Get Release Upload URL
40+ id : get_release
41+ run : |
42+ TAG_NAME=${{ github.ref_name }}
43+ RESPONSE=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
44+ "https://api.github.com/repos/${{ github.repository }}/releases/tags/$TAG_NAME")
45+ echo "Upload URL: $(echo $RESPONSE | jq -r .upload_url | sed 's/{.*//')"
46+ echo "upload_url=$(echo $RESPONSE | jq -r .upload_url | sed 's/{.*//')" >> $GITHUB_ENV
47+
48+ - name : Upload DEB Files to Release
49+ run : |
50+ for file in build/artifacts/*.deb; do
51+ curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
52+ -H "Content-Type: application/octet-stream" \
53+ --data-binary @"$file" \
54+ "$upload_url?name=$(basename $file)"
55+ done
56+ env :
57+ upload_url : ${{ env.upload_url }}
58+
59+ - name : Cleanup
4260 run : |
43- cd debian
44- dpkg-buildpackage -S -sa -d
45- debsign ../*.changes
46-
47- - name : Upload Debian Packages
48- uses : actions/upload-artifact@v3
49- with :
50- name : debian-packages
51- path : ../*.deb
61+ rm -rf build
0 commit comments