diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 216fd5f..5455341 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,6 +62,7 @@ jobs: - arch: armv7l rust_target: armv7-unknown-linux-musleabihf docker_platform: linux/arm/v7 + fail-fast: false runs-on: ubuntu-latest steps: - name: Checkout diff --git a/CHANGELOG.md b/CHANGELOG.md index 40e3b16..5592ffc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ upgrades, e.g. `v0.6.x` -> `v0.7.x`. The config file format and [API](ref/api.md) currently have no stability guarantees, so they may change even on minor releases, e.g. `v0.7.5` -> `v0.7.6`. -## v0.7.18 (2025-01-28) +## v0.7.19 (2025-01-28) * support recording H.265 ([#33](https://github.com/scottlamb/moonfire-nvr/issues/33)). Browser support may vary. @@ -16,6 +16,10 @@ even on minor releases, e.g. `v0.7.5` -> `v0.7.6`. * improve error message on timeout opening stream. * use `jiff` for time manipulations. +## v0.7.18 (2025-01-28) + +This release was skipped due to build problems on `armv7-unknown-linux-musleabif`. + ## v0.7.17 (2024-09-03) * bump minimum Rust version to 1.79. diff --git a/server/base/clock.rs b/server/base/clock.rs index 9b48d76..57219e2 100644 --- a/server/base/clock.rs +++ b/server/base/clock.rs @@ -21,8 +21,11 @@ use crate::shutdown::ShutdownError; pub struct SystemTime(pub TimeSpec); impl SystemTime { - pub fn new(sec: nix::sys::time::time_t, nsec: i64) -> Self { - SystemTime(TimeSpec::new(sec, nsec)) + pub fn new(sec: u64, nsec: i64) -> Self { + // `TimeSpec::new`'s arguments vary by platform. + // * currently uses 32-bit time_t on musl + // * nsec likewise can vary. + SystemTime(TimeSpec::new(sec as _, nsec as _)) } pub fn as_secs(&self) -> i64 { diff --git a/server/base/time.rs b/server/base/time.rs index 4e64567..6116fed 100644 --- a/server/base/time.rs +++ b/server/base/time.rs @@ -161,7 +161,8 @@ impl Time { impl From for Time { fn from(tm: SystemTime) -> Self { - Time(tm.0.tv_sec() * TIME_UNITS_PER_SEC + tm.0.tv_nsec() * 9 / 100_000) + #[allow(clippy::unnecessary_cast)] + Time((tm.0.tv_sec() as i64) * TIME_UNITS_PER_SEC + (tm.0.tv_nsec() as i64) * 9 / 100_000) } }