Swadhin Biswas Ci/improve release notes (#41) · 8/28/2026
04d550f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
packages: write
env:
CARGO_TERM_COLOR: always
jobs:
build-linux:
name: Build Linux Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v7
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
no-cache: true
- uses: dtolnay/rust-toolchain@stable
- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
build-essential \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libxdo-dev \
libsoup-3.0-dev \
libjavascriptcoregtk-4.1-dev \
libgdk-pixbuf-2.0-dev \
libpango1.0-dev \
libatk1.0-dev \
libcairo2-dev
- run: bun install --frozen-lockfile
- run: bun run build
- name: Build Tauri
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NO_STRIP: 1
APPIMAGE_EXTRACT_AND_RUN: 1
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
tagName: ${{ github.ref_name }}
releaseName: "Linuxy ${{ github.ref_name }}"
includeUpdaterArtifacts: true
releaseBody: |
## Linuxy ${{ github.ref_name }}
One-click Linux Application Manager with Firejail sandboxing.
### Installation
**Debian / Ubuntu**
```bash
sudo apt install ./linuxy_*.deb
```
**Fedora / RHEL**
```bash
sudo dnf install ./linuxy-*.rpm
```
**Arch Linux (AUR)**
```bash
yay -S linuxy
```
**Flathub**
```bash
flatpak install flathub com.linuxy.App
```
**NixOS**
```nix
nix run github:swadhinbiswas/linuxy
```
**AppImage (any distro)**
```bash
chmod +x Linuxy_*.AppImage
./Linuxy_*.AppImage
```
### Build from Source
```bash
git clone --branch ${{ github.ref_name }} --depth 1 https://github.com/swadhinbiswas/linuxy.git
cd linuxy
curl -fsSL https://bun.sh/install | bash
bun install
bun run tauri build
```
releaseDraft: false
prerelease: false
includeDebug: false
- name: Install fpm for RPM
run: |
sudo apt-get install -y ruby ruby-dev rpm
sudo gem install --no-document fpm
- name: Build RPM
run: |
export PATH="$(gem env | grep 'EXECUTABLE DIRECTORY' | awk '{print $4}'):$PATH"
./scripts/build-rpm.sh
- name: Upload RPM artifact
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
src-tauri/target/release/bundle/rpm/*.rpm
draft: false
publish-aur:
name: Publish AUR Package
runs-on: ubuntu-latest
needs: build-linux
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v7
- name: Extract version
id: get_version
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
- name: Update PKGBUILD and .SRCINFO
run: |
VERSION="${{ steps.get_version.outputs.VERSION }}"
sed -i "s/pkgver=.*/pkgver=${VERSION}/" packaging/aur/PKGBUILD
sed -i "s/pkgver = .*/pkgver = ${VERSION}/" packaging/aur/.SRCINFO
sed -i "s|source = linuxy-.*|source = linuxy-${VERSION}.tar.gz::https://github.com/swadhinbiswas/linuxy/archive/refs/tags/v${VERSION}.tar.gz|" packaging/aur/.SRCINFO
curl -sL "https://github.com/swadhinbiswas/linuxy/archive/refs/tags/v${VERSION}.tar.gz" -o /tmp/linuxy-${VERSION}.tar.gz
CHECKSUM=$(sha256sum /tmp/linuxy-${VERSION}.tar.gz | awk '{print $1}')
sed -i "s/sha256sums=.*/sha256sums=('${CHECKSUM}')/" packaging/aur/PKGBUILD
sed -i "s/sha256sums = .*/sha256sums = ${CHECKSUM}/" packaging/aur/.SRCINFO
- name: Publish to AUR
run: ./scripts/publish-aur.sh
env:
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
AUR_VERSION: ${{ steps.get_version.outputs.VERSION }}
AUR_COMMIT_USERNAME: ${{ secrets.AUR_USERNAME }}
AUR_COMMIT_EMAIL: ${{ secrets.AUR_EMAIL }}
AUR_MAX_ATTEMPTS: "6"