From 40a2216da3a22597c47c1003914c06204bafea1a Mon Sep 17 00:00:00 2001 From: JMARyA Date: Thu, 30 Jan 2025 16:24:09 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .woodpecker/build.yml | 15 +++++++++++++++ PKGBUILD | 38 ++++++++++++++++++++++++++++++++++++++ src/main.rs | 3 +++ 3 files changed, 56 insertions(+) create mode 100644 .woodpecker/build.yml create mode 100644 PKGBUILD diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml new file mode 100644 index 0000000..94f5e41 --- /dev/null +++ b/.woodpecker/build.yml @@ -0,0 +1,15 @@ +when: + - event: push + branch: main + +steps: + - name: "PKGBUILD" + image: git.hydrar.de/jmarya/pacco-build:latest + commands: + - pacman -Syu --noconfirm + - buildpkg navos x86_64 pac.hydrar.de "$TOKEN" "$KEY" + environment: + TOKEN: + from_secret: pacco_token + KEY: + from_secret: sign_key diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..c1afbef --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: JMARyA +pkgname=csnap +pkgver=main +pkgrel=1 +pkgdesc="CephFS snapshot utility" +arch=('x86_64') +url="https://git.hydrar.de/jmarya/csnap" +license=("MIT") +depends=() +makedepends=("rustup" "git") +source=("${pkgname}::git+https://git.hydrar.de/jmarya/csnap.git") +sha256sums=("SKIP") + +pkgver() { + cd "$srcdir/$pkgname" + echo "$(date +%Y.%m.%d)_$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$srcdir/$pkgname" + rustup default nightly + cargo fetch +} + +build() { + cd "$srcdir/$pkgname" + cargo build --release +} + +check() { + cd "$srcdir/$pkgname" + cargo test --release +} + +package() { + cd "$srcdir/$pkgname" + install -Dm755 "target/release/csnap" "$pkgdir/usr/bin/csnap" +} diff --git a/src/main.rs b/src/main.rs index 4cb54cf..4e789be 100644 --- a/src/main.rs +++ b/src/main.rs @@ -92,6 +92,9 @@ pub fn cephfs_snap_show(dir: &str) -> std::io::Result<()> { Ok(()) } +// TODO : Rollback command +// rsync snap dir to root dir + delete snapshot (-opt) + fn main() { let args = get_args();