Make sure the generated lua definitions are up to date
This commit is contained in:
parent
73416fbbbd
commit
c89d5f3301
|
@ -7,9 +7,33 @@ on:
|
|||
- feature/**
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build automation_rs
|
||||
runs-on: ubuntu-latest
|
||||
container: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rust
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
rustflags: ""
|
||||
|
||||
- name: Build
|
||||
run: cargo build --release --all-targets
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build
|
||||
path: target/x86_64-unknown-linux-gnu/release/automation
|
||||
|
||||
check:
|
||||
name: Run pre-commit checks
|
||||
runs-on: ubuntu-latest
|
||||
# The lua definition check require that generate_definitions is build first
|
||||
needs: [build]
|
||||
container: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
@ -48,28 +72,6 @@ jobs:
|
|||
run: pre-commit run --show-diff-on-failure --color=always --all-files
|
||||
shell: bash
|
||||
|
||||
build:
|
||||
name: Build automation_rs
|
||||
runs-on: ubuntu-latest
|
||||
container: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rust
|
||||
uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||
with:
|
||||
rustflags: ""
|
||||
|
||||
- name: Build
|
||||
run: cargo build --release
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build
|
||||
path: target/x86_64-unknown-linux-gnu/release/automation
|
||||
|
||||
container:
|
||||
name: Build Docker image
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
@ -30,3 +30,13 @@ repos:
|
|||
rev: v0.1.0
|
||||
hooks:
|
||||
- id: dockerfilelint
|
||||
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: lua-definitions
|
||||
name: Generate lua definitions
|
||||
description: This hook generates up to date lua definitions.
|
||||
entry: cargo run --release --bin generate_definitions
|
||||
language: system
|
||||
types: [rust]
|
||||
pass_filenames: false
|
||||
|
|
|
@ -181,3 +181,4 @@ function Washer.new(config) end
|
|||
--- @field event_channel EventChannel
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
-- End of generated file
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
use std::fs::File;
|
||||
use std::io::{Result, Write};
|
||||
|
||||
use automation::config::MqttDeviceConfig;
|
||||
use automation::devices::{
|
||||
AirFilter, AirFilterConfig, AudioSetup, AudioSetupConfig, ContactSensor, ContactSensorConfig,
|
||||
|
@ -7,51 +10,64 @@ use automation::devices::{
|
|||
WakeOnLANConfig, Washer, WasherConfig,
|
||||
};
|
||||
|
||||
fn main() {
|
||||
println!("-- WARN: This file is automatically generated, do not manually edit\n");
|
||||
println!("---@meta");
|
||||
fn main() -> Result<()> {
|
||||
let mut d = File::create("./definitions/generated.lua")?;
|
||||
|
||||
println!("{}", MqttDeviceConfig::generate_lua_definition());
|
||||
writeln!(
|
||||
&mut d,
|
||||
"-- WARN: This file is automatically generated, do not manually edit\n"
|
||||
)?;
|
||||
writeln!(&mut d, "---@meta")?;
|
||||
|
||||
println!("{}", AirFilter::generate_lua_definition());
|
||||
println!("{}", AirFilterConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", MqttDeviceConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", AudioSetup::generate_lua_definition());
|
||||
println!("{}", AudioSetupConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", AirFilter::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", AirFilterConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", ContactSensor::generate_lua_definition());
|
||||
println!("{}", ContactSensorConfig::generate_lua_definition());
|
||||
println!("{}", PresenceDeviceConfig::generate_lua_definition());
|
||||
println!("{}", TriggerConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", AudioSetup::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", AudioSetupConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", DebugBridge::generate_lua_definition());
|
||||
println!("{}", DebugBridgeConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", ContactSensor::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", ContactSensorConfig::generate_lua_definition())?;
|
||||
writeln!(
|
||||
&mut d,
|
||||
"{}",
|
||||
PresenceDeviceConfig::generate_lua_definition()
|
||||
)?;
|
||||
writeln!(&mut d, "{}", TriggerConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", HueBridge::generate_lua_definition());
|
||||
println!("{}", HueBridgeConfig::generate_lua_definition());
|
||||
println!("{}", FlagIDs::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", DebugBridge::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", DebugBridgeConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", HueGroup::generate_lua_definition());
|
||||
println!("{}", HueGroupConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", HueBridge::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", HueBridgeConfig::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", FlagIDs::generate_lua_definition())?;
|
||||
|
||||
println!("{}", IkeaOutlet::generate_lua_definition());
|
||||
println!("{}", IkeaOutletConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", HueGroup::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", HueGroupConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", KasaOutlet::generate_lua_definition());
|
||||
println!("{}", KasaOutletConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", IkeaOutlet::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", IkeaOutletConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", LightSensor::generate_lua_definition());
|
||||
println!("{}", LightSensorConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", KasaOutlet::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", KasaOutletConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", Ntfy::generate_lua_definition());
|
||||
println!("{}", NtfyConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", LightSensor::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", LightSensorConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", Presence::generate_lua_definition());
|
||||
println!("{}", PresenceConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", Ntfy::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", NtfyConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", WakeOnLAN::generate_lua_definition());
|
||||
println!("{}", WakeOnLANConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", Presence::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", PresenceConfig::generate_lua_definition())?;
|
||||
|
||||
println!("{}", Washer::generate_lua_definition());
|
||||
println!("{}", WasherConfig::generate_lua_definition());
|
||||
writeln!(&mut d, "{}", WakeOnLAN::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", WakeOnLANConfig::generate_lua_definition())?;
|
||||
|
||||
writeln!(&mut d, "{}", Washer::generate_lua_definition())?;
|
||||
writeln!(&mut d, "{}", WasherConfig::generate_lua_definition())?;
|
||||
|
||||
writeln!(&mut d, "-- End of generated file")?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user