From c32c3a2e2d7805a44747df78433388017b2ca3a5 Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Tue, 14 Jul 2026 14:09:47 +0200 Subject: [PATCH] feat: add release workflow, wherry-bin PKGBUILD, mold optdepends --- .github/workflows/rust.yml | 27 +++++++++++++++++++++++++++ dist/.SRCINFO | 5 +++-- dist/PKGBUILD | 3 ++- dist/wherry-bin/.SRCINFO | 22 ++++++++++++++++++++++ dist/wherry-bin/PKGBUILD | 28 ++++++++++++++++++++++++++++ 5 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 dist/wherry-bin/.SRCINFO create mode 100644 dist/wherry-bin/PKGBUILD diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 64560bb..ec6ad31 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -3,6 +3,7 @@ name: Rust on: push: branches: [ "main" ] + tags: [ "v*" ] pull_request: branches: [ "main" ] @@ -58,6 +59,10 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: Build (release) run: cargo build --release + - uses: actions/upload-artifact@v4 + with: + name: wherry-x86_64 + path: target/release/wherry test: runs-on: ubuntu-latest @@ -81,3 +86,25 @@ jobs: - uses: Swatinem/rust-cache@v2 - name: Run tests run: cargo test + + release: + if: startsWith(github.ref, 'refs/tags/v') + runs-on: ubuntu-latest + needs: [build, test] + steps: + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 + with: + name: wherry-x86_64 + - name: Package binary + run: | + mkdir -p pkg/usr/bin pkg/usr/share/licenses/wherry pkg/usr/share/pixmaps pkg/usr/share/applications + install -Dm755 wherry pkg/usr/bin/wherry + install -Dm644 LICENSE pkg/usr/share/licenses/wherry/LICENSE + install -Dm644 src/icons/128x128.png pkg/usr/share/pixmaps/wherry.png + install -Dm644 dist/wherry.desktop pkg/usr/share/applications/wherry.desktop + tar czf wherry-v${{ github.ref_name }}-x86_64-linux.tar.gz -C pkg . + - uses: softprops/action-gh-release@v2 + with: + files: wherry-v${{ github.ref_name }}-x86_64-linux.tar.gz + generate_release_notes: true diff --git a/dist/.SRCINFO b/dist/.SRCINFO index a9ffb59..0022b37 100644 --- a/dist/.SRCINFO +++ b/dist/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = wherry pkgdesc = A modern dual-pane file manager with SFTP/FTP/FTPS support pkgver = 0.1.0 - pkgrel = 1 + pkgrel = 2 url = https://github.com/loki5512344/Wherry arch = x86_64 license = GPL3 @@ -18,7 +18,8 @@ pkgbase = wherry depends = openssl depends = libssh2 depends = dbus + optdepends = mold: faster linking source = https://github.com/loki5512344/Wherry/archive/refs/tags/v0.1.0.tar.gz - sha256sums = 2c9ee91948fdad352ba797ce8652bf626797769a74e2707504184f541eecf0ab + sha256sums = 9974b7477dc3c051a74812d4be721da360a1498a737ceebad7650014da2b6d20 pkgname = wherry diff --git a/dist/PKGBUILD b/dist/PKGBUILD index 7e4aee7..1e15527 100644 --- a/dist/PKGBUILD +++ b/dist/PKGBUILD @@ -21,8 +21,9 @@ depends=( 'dbus' ) makedepends=('cargo' 'pkg-config') +optdepends=('mold: faster linking') source=("https://github.com/loki5512344/Wherry/archive/refs/tags/v$pkgver.tar.gz") -sha256sums=('2c9ee91948fdad352ba797ce8652bf626797769a74e2707504184f541eecf0ab') +sha256sums=('9974b7477dc3c051a74812d4be721da360a1498a737ceebad7650014da2b6d20') _repodir="Wherry-$pkgver" diff --git a/dist/wherry-bin/.SRCINFO b/dist/wherry-bin/.SRCINFO new file mode 100644 index 0000000..b692117 --- /dev/null +++ b/dist/wherry-bin/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = wherry-bin + pkgdesc = A modern dual-pane file manager with SFTP/FTP/FTPS support (pre-compiled) + pkgver = 0.1.0 + pkgrel = 1 + url = https://github.com/loki5512344/Wherry + arch = x86_64 + license = GPL3 + depends = gcc-libs + depends = gtk3 + depends = webkit2gtk-4.1 + depends = libsoup3 + depends = cairo + depends = gdk-pixbuf2 + depends = glib2 + depends = librsvg + depends = openssl + depends = libssh2 + depends = dbus + source = https://github.com/loki5512344/Wherry/releases/download/v0.1.0/wherry-v0.1.0-x86_64-linux.tar.gz + sha256sums = SKIP + +pkgname = wherry-bin diff --git a/dist/wherry-bin/PKGBUILD b/dist/wherry-bin/PKGBUILD new file mode 100644 index 0000000..6116964 --- /dev/null +++ b/dist/wherry-bin/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: loki5512344 + +pkgname=wherry-bin +pkgver=0.1.0 +pkgrel=1 +pkgdesc="A modern dual-pane file manager with SFTP/FTP/FTPS support (pre-compiled)" +arch=('x86_64') +url='https://github.com/loki5512344/Wherry' +license=('GPL3') +depends=( + 'gcc-libs' + 'gtk3' + 'webkit2gtk-4.1' + 'libsoup3' + 'cairo' + 'gdk-pixbuf2' + 'glib2' + 'librsvg' + 'openssl' + 'libssh2' + 'dbus' +) +source=("https://github.com/loki5512344/Wherry/releases/download/v$pkgver/wherry-v$pkgver-x86_64-linux.tar.gz") +sha256sums=('SKIP') + +package() { + cp -r "$srcdir"/* "$pkgdir"/ +}