From 571010c07c1448c94f80e23192000833c406b098 Mon Sep 17 00:00:00 2001 From: Alex Janka Date: Sun, 2 Jun 2024 11:43:05 +1000 Subject: [PATCH] tweaks + automatic packaging --- .gitea/workflows/deb.yaml | 28 ++++++++++++++++++++++ Cargo.lock | 2 +- homekit-controller/Cargo.toml | 2 +- homekit-controller/src/lib.rs | 18 -------------- homekit-controller/src/pairing_data/mod.rs | 2 +- 5 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 .gitea/workflows/deb.yaml diff --git a/.gitea/workflows/deb.yaml b/.gitea/workflows/deb.yaml new file mode 100644 index 0000000..82cd7ff --- /dev/null +++ b/.gitea/workflows/deb.yaml @@ -0,0 +1,28 @@ +name: Build .deb on release +run-name: Building .deb of latest release and adding to apt repo + +on: + push: + tags: + - "*" + +jobs: + Build-Deb: + runs-on: aarch64 + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Build + run: "cargo build --release --target=aarch64-unknown-linux-gnu" + - name: Build .deb + run: "cargo deb --target=aarch64-unknown-linux-gnu" + - name: Add .deb to apt repository + run: "curl --user alex:${{ secrets.PACKAGING_TOKEN }} --upload-file $(ls -t ./target/aarch64-unknown-linux-gnu/debian/*.deb | head -1) https://git.alexjanka.com/api/packages/alex/debian/pool/testing/main/upload" + - name: "Release package" + id: use-go-action + uses: https://gitea.com/actions/release-action@main + with: + files: |- + ./target/aarch64-unknown-linux-gnu/debian/*.deb + ./target/aarch64-unknown-linux-gnu/release/homekit-exporter + api_key: "${{secrets.PACKAGING_TOKEN}}" diff --git a/Cargo.lock b/Cargo.lock index 9c83f19..b01513b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1155,7 +1155,7 @@ dependencies = [ [[package]] name = "homekit-controller" -version = "0.6.4" +version = "0.6.5" dependencies = [ "chacha20poly1305", "ed25519-dalek", diff --git a/homekit-controller/Cargo.toml b/homekit-controller/Cargo.toml index 142954a..a485935 100644 --- a/homekit-controller/Cargo.toml +++ b/homekit-controller/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "homekit-controller" -version = "0.6.4" +version = "0.6.5" edition = "2021" license = "Apache-2.0" description = "Partial implementation of the HomeKit controller protocol" diff --git a/homekit-controller/src/lib.rs b/homekit-controller/src/lib.rs index 572163f..005e621 100644 --- a/homekit-controller/src/lib.rs +++ b/homekit-controller/src/lib.rs @@ -438,24 +438,6 @@ pub enum HomekitError { NoData, } -trait FlattenResult { - type T; - type E; - fn flatten_result(self) -> Result; -} - -impl FlattenResult for Result, E> { - type T = T; - type E = E; - - fn flatten_result(self) -> Result { - match self { - Ok(v) => v, - Err(e) => Err(e), - } - } -} - #[derive(Debug, Error)] pub enum ConnectionError { #[error("http")] diff --git a/homekit-controller/src/pairing_data/mod.rs b/homekit-controller/src/pairing_data/mod.rs index 22b6385..0ec3ea9 100644 --- a/homekit-controller/src/pairing_data/mod.rs +++ b/homekit-controller/src/pairing_data/mod.rs @@ -158,7 +158,7 @@ pub struct ServiceCharacteristic { impl ServiceCharacteristic { pub fn update_from(&mut self, other: &ServiceCharacteristic) { - self.value = other.value.clone(); + self.value.clone_from(&other.value); if other.event_notifications_enabled.is_some() { self.event_notifications_enabled = other.event_notifications_enabled; }