Update CI

This commit is contained in:
AB
2020-04-26 14:55:30 +03:00
parent cba858ba9c
commit 4b0fbcce84
8 changed files with 95 additions and 16 deletions

39
.github/workflows/PKGBUILD vendored Normal file
View File

@ -0,0 +1,39 @@
# Maintainer: Alexandr Bogomyakov (ultradesu) <ab@hexor.ru>
pkgname=mus-fuse
pkgver=0.7.2
pkgrel=1
pkgdesc="Written safely in Rust, FUSE FS with your own private music library hosted on your server securely."
url="https://github.com/house-of-vanity/mus-fuse.git"
arch=(x86_64)
license=(WTFPL)
depends=(openssl fuse)
makedepends=(cargo git fuse openssl)
source=("git+https://github.com/house-of-vanity/$pkgname")
sha512sums=('SKIP')
backup=('etc/mus-fuse.yml')
pkgver() {
cd "$srcdir/$pkgname"
echo git describe --long --tags | awk -F '-' '{print $1}'| sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd $pkgname-$pkgver
cargo fetch --target x86_64-unknown-linux-gnu
}
build() {
cd $pkgname-$pkgver
cargo build --release --frozen --all-targets
}
package() {
cd $pkgname-$pkgver
install -Dt "$pkgdir/usr/bin" target/release/$pkgname
install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 README.md
install -Dt "$pkgdir/usr/lib/systemd/system" assets/$pkgname.service
mkdir -p "$pkgdir/etc"
cp -n assets/mus-fuse.yml "$pkgdir/etc/mus-fuse.yml"
}

View File

@ -6,6 +6,20 @@ on:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
make:
runs-on: ubuntu-latest
container:
image: archlinux
options: --privileged
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup
steps:
- uses: actions/checkout@v2
- name: Build Arch Linux package
uses: FFY00/build-arch-package@master
with:
PKGBUILD: $GITHUB_WORKSPACE/.github/workflows/PKGBUILD
OUTDIR: $HOME/arch-packages
build:
name: Upload Release Asset
runs-on: ubuntu-latest

View File

@ -1,6 +1,6 @@
[package]
name = "mus-fuse"
version = "0.7.1"
version = "0.7.2"
authors = ["AB <ultradesu@hexor.ru>"]
edition = "2018"
license = "WTFPL"
@ -37,10 +37,10 @@ Written safely in Rust, FUSE FS with your own private music library \
hosted on your server securely."""
section = "utilities"
priority = "optional"
maintainer-scripts = "assets/"
maintainer-scripts = "debian/"
conf-files = ["etc/mus-fuse.yml"]
assets = [
["assets/mus-fuse.service", "/usr/lib/systemd/system/mus-fuse.service", "644"],
["target/release/mus-fuse", "usr/bin/", "755"],
["assets/conf.yml", "etc/mus-fuse.yml", "644"],
["assets/mus-fuse.yml", "etc/mus-fuse.yml", "644"],
]

View File

@ -16,9 +16,14 @@ MusFuse is a FUSE filesystem over HTTP for music. It is using [playongo](https:/
Here is a [binary release](https://github.com/house-of-vanity/mus_fuse/releases/latest) or compile it yourself. Anyway mind about dependencies listed below. Also there is a systemd unit file for managing service. Place it into `~/.config/systemd/user/mus-fuse.service`
```sh
# Compile
# Compile binary
$ cargo build --release
# Making DEB package
$ cargo install cargo-deb
$ cargo deb
# package will be appear in ./target/debian/
# And run
# to baypass Basic Auth set
# $HTTP_USER and $HTTP_PASS

View File

@ -1,12 +0,0 @@
---
server: https://mus.test.com
mountpoint: /srv/mus-fuse
http_user: username
http_pass: passwd1337
# How many KiB of file beginnings download and store in RAM.
# It's speeding up any metadata operations and media library scanning.
cache_head: 768
# How many count of `cache_head` store.
cache_max_count: 10

View File

View File

33
pkgbuild/PKGBUILD Normal file
View File

@ -0,0 +1,33 @@
# Maintainer: Alexandr Bogomyakov (ultradesu) <ab@hexor.ru>
pkgname=mus-fuse
pkgver=0.7.2
pkgrel=1
pkgdesc="Written safely in Rust, FUSE FS with your own private music library hosted on your server securely."
url="https://github.com/house-of-vanity/mus-fuse.git"
arch=(x86_64)
license=(WTFPL)
depends=(openssl fuse)
makedepends=(cargo git fuse openssl)
source=("$pkgname-$pkgver.tar.gz::https://github.com/house-of-vanity/$pkgname/archive/v$pkgver.tar.gz")
sha512sums=('SKIP')
backup=('etc/mus-fuse.yml')
prepare() {
cd $pkgname-$pkgver
cargo fetch --target x86_64-unknown-linux-gnu
}
build() {
cd $pkgname-$pkgver
cargo build --release --frozen --all-targets
}
package() {
cd $pkgname-$pkgver
install -Dt "$pkgdir/usr/bin" target/release/$pkgname
install -Dt "$pkgdir/usr/share/doc/$pkgname" -m644 README.md
install -Dt "$pkgdir/usr/lib/systemd/system" assets/$pkgname.service
mkdir -p "$pkgdir/etc"
cp -n assets/mus-fuse.yml "$pkgdir/etc/mus-fuse.yml"
}