12 Commits

Author SHA1 Message Date
kdusek
700faee7da Fix mkdir for pixmaps
All checks were successful
build / build-linux (push) Successful in 16s
release / build-deb (push) Successful in 1m27s
2025-12-08 00:34:20 +01:00
kdusek
4d7845440c Use pixmaps for desktop icon
Some checks failed
build / build-linux (push) Successful in 15s
release / build-deb (push) Failing after 49s
2025-12-08 00:31:42 +01:00
kdusek
31c8b3139a Use PNG icon for desktop integration
All checks were successful
build / build-linux (push) Successful in 15s
release / build-deb (push) Successful in 1m27s
2025-12-08 00:27:45 +01:00
kdusek
ea3d534774 Add release script for easy tagging
All checks were successful
build / build-linux (push) Successful in 16s
2025-12-08 00:26:33 +01:00
kdusek
eefcbc86e5 Replace artifacts with direct Gitea API calls for releases
All checks were successful
build / build-linux (push) Successful in 16s
release / build-deb (push) Successful in 1m29s
2025-12-08 00:23:16 +01:00
kdusek
0d9d3f8d6c Downgrade to artifact actions v1 for Gitea compatibility
Some checks failed
build / build-linux (push) Successful in 15s
release / build-deb (push) Failing after 1m38s
release / release (push) Has been skipped
2025-12-08 00:19:19 +01:00
kdusek
a3c99b5f48 Use VERSION env var in fpm command
Some checks failed
build / build-linux (push) Successful in 15s
release / build-deb (push) Failing after 2m50s
release / release (push) Has been skipped
2025-12-07 23:56:46 +01:00
kdusek
5ce72c71e3 Use env.VERSION for artifact names
Some checks failed
build / build-linux (push) Successful in 15s
release / build-deb (push) Successful in 49s
release / release (push) Failing after 8s
2025-12-07 23:53:40 +01:00
kdusek
2b7079612e Fix artifact name to match version without v
Some checks failed
build / build-linux (push) Successful in 15s
release / build-deb (push) Failing after 49s
release / release (push) Has been skipped
2025-12-07 23:49:49 +01:00
kdusek
3d51013e48 Remove duplicate release job
Some checks failed
build / build-linux (push) Successful in 16s
release / build-deb (push) Successful in 1m2s
release / release (push) Failing after 16s
2025-12-07 23:43:34 +01:00
kdusek
f19f474df7 Change to v2 artifacts and Gitea token
All checks were successful
build / build-linux (push) Successful in 15s
2025-12-07 23:41:03 +01:00
kdusek
c49f761f93 Add fpm to PATH
Some checks failed
build / build-linux (push) Successful in 16s
release / build-deb (push) Successful in 49s
release / release (push) Failing after 8s
2025-12-07 23:36:36 +01:00
3 changed files with 45 additions and 25 deletions

View File

@@ -28,20 +28,23 @@ jobs:
ls -la /lib/x86_64-linux-gnu/libpython* 2>/dev/null || echo "Not found in /lib" ls -la /lib/x86_64-linux-gnu/libpython* 2>/dev/null || echo "Not found in /lib"
- name: Build binary - name: Build binary
run: pyinstaller gotify-tray.spec run: pyinstaller gotify-tray.spec
- name: Set version
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV
- name: Install Ruby and fpm - name: Install Ruby and fpm
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y ruby-full sudo apt-get install -y ruby-full
gem install fpm gem install fpm
export PATH="$(ruby -e 'puts Gem.user_dir')/bin:$PATH"
- name: Check fpm - name: Check fpm
run: which fpm run: which fpm
- name: Build Debian package - name: Build Debian package
run: | run: |
mkdir -p build/linux/opt mkdir -p build/linux/opt
mkdir -p build/linux/usr/share/applications mkdir -p build/linux/usr/share/applications
mkdir -p build/linux/usr/share/icons mkdir -p build/linux/usr/share/pixmaps
cp -r dist/gotify-tray build/linux/opt/gotify-tray cp -r dist/gotify-tray build/linux/opt/gotify-tray
cp gotify_tray/gui/images/logo.ico build/linux/usr/share/icons/gotify-tray.ico cp gotify_tray/gui/images/gotify-small.png build/linux/usr/share/pixmaps/gotify-tray.png
cp gotifytray.desktop build/linux/usr/share/applications cp gotifytray.desktop build/linux/usr/share/applications
find build/linux/opt/gotify-tray -type f -exec chmod 644 -- {} + find build/linux/opt/gotify-tray -type f -exec chmod 644 -- {} +
find build/linux/opt/gotify-tray -type d -exec chmod 755 -- {} + find build/linux/opt/gotify-tray -type d -exec chmod 755 -- {} +
@@ -57,28 +60,24 @@ jobs:
-m k.dries@protonmail.com \ -m k.dries@protonmail.com \
--description "Gotify Tray. A tray notification application for receiving messages from a Gotify server." \ --description "Gotify Tray. A tray notification application for receiving messages from a Gotify server." \
--category internet \ --category internet \
--version "${{github.ref_name#v}}" \ --version "$VERSION" \
--license GPLv3 --license GPLv3
- name: Check deb file - name: Check deb file
run: ls -la dist/ run: ls -la dist/
- name: Upload artifact - name: Create release
uses: actions/upload-artifact@v3 run: |
with: RESPONSE=$(curl -X POST \
name: gotify-tray_${{github.ref_name}}_amd64.deb -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
path: dist/gotify-tray_${{github.ref_name}}_amd64.deb -H "Content-Type: application/json" \
-d "{\"tag_name\": \"${GITHUB_REF_NAME}\", \"name\": \"Release ${GITHUB_REF_NAME}\", \"body\": \"Automated release\"}" \
release: http://192.168.88.97:3000/api/v1/repos/kadu/gotify-tray-customized/releases)
runs-on: ubuntu-latest echo "Release response: $RESPONSE"
needs: [build-deb] RELEASE_ID=$(echo $RESPONSE | jq -r '.id')
steps: echo "RELEASE_ID=$RELEASE_ID" >> $GITHUB_ENV
- uses: actions/checkout@v4 - name: Upload asset
- uses: actions/download-artifact@v3 run: |
with: curl -X POST \
name: gotify-tray_${{github.ref_name}}_amd64.deb -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
- name: Release -H "Content-Type: application/octet-stream" \
uses: marvinpinto/action-automatic-releases@latest --data-binary @dist/gotify-tray_${VERSION}_amd64.deb \
with: http://192.168.88.97:3000/api/v1/repos/kadu/gotify-tray-customized/releases/${RELEASE_ID}/assets?name=gotify-tray_${VERSION}_amd64.deb
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
gotify-tray_${{github.ref_name}}_amd64.deb

View File

@@ -3,7 +3,7 @@ Name=Gotify Tray
Comment=A tray notification application for receiving messages from a Gotify server. Comment=A tray notification application for receiving messages from a Gotify server.
Path=/opt/gotify-tray Path=/opt/gotify-tray
Exec=/opt/gotify-tray/gotify-tray Exec=/opt/gotify-tray/gotify-tray
Icon=/usr/share/icons/gotify-tray.ico Icon=/usr/share/pixmaps/gotify-tray.png
Terminal=false Terminal=false
Type=Application Type=Application
Categories=Network; Categories=Network;

21
release.sh Executable file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
# Script to create and push a release tag
# Usage: ./release.sh <version> [message]
if [ $# -lt 1 ]; then
echo "Usage: $0 <version> [message]"
echo "Example: $0 v0.5.22 'Release v0.5.22'"
exit 1
fi
VERSION=$1
MESSAGE=${2:-"Release $VERSION"}
echo "Creating tag $VERSION with message: $MESSAGE"
git tag -a "$VERSION" -m "$MESSAGE"
echo "Pushing tag $VERSION"
git push local "$VERSION"
echo "Tag $VERSION pushed. Workflow will build and release automatically."