[CLI] Re-add Windows To CLI Release Workflow

This commit is contained in:
Ben C 2023-05-06 22:01:11 -04:00
parent 312faee97c
commit 6a3e8a134a
No known key found for this signature in database
GPG Key ID: 556064B755159BBC
5 changed files with 19 additions and 15 deletions

View File

@ -2,7 +2,7 @@ name: Create CLI Release
on:
workflow_dispatch:
jobs:
release:
permissions:
@ -10,7 +10,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-20.04]
platform: [ubuntu-20.04, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
@ -29,10 +29,6 @@ jobs:
if: matrix.platform == 'ubuntu-20.04'
run: cargo install cargo-deb
- name: Get Package Version
id: pkg-version
run: echo "version=$(cargo metadata --no-deps --format-version=1 --no-default-features | jq -r '.packages[] | select(.name=="owmods_cli") | .version')" >> $GITHUB_OUTPUT
- name: Build CLI
run: cargo build -p owmods_cli --release
env:
@ -52,6 +48,10 @@ jobs:
env:
ANALYTICS_API_KEY: ${{ secrets.ANALYTICS_API_KEY }}
- name: Get Package Version
id: pkg-version
run: echo "verison=$(cargo xtask cli_version)" >> $GITHUB_OUTPUT
- name: Upload CLI
uses: softprops/action-gh-release@v1
with:
@ -65,7 +65,3 @@ jobs:
target/debian/owmods-cli_${{ steps.pkg-version.outputs.version }}_amd64.deb
target/release/owmods
target/release/owmods.exe

View File

@ -103,7 +103,7 @@ impl log::Log for Logger {
ProgressPayload::Finish(payload) => self.finish(payload),
ProgressPayload::Unknown => {}
};
} else if self.enabled(record.metadata()) {
} else if self.enabled(record.metadata()) && record.target().starts_with("owmods") {
let args = format!("{}", record.args());
let msg = match record.level() {
Level::Error => args.red(),

View File

@ -29,19 +29,19 @@ pub enum AnalyticsEventName {
ModUpdate,
}
#[derive(Serialize)]
#[derive(Debug, Serialize)]
struct AnalyticsEventParams {
mod_unique_name: String,
manager_version: String,
}
#[derive(Serialize)]
#[derive(Debug, Serialize)]
struct AnalyticsEvent {
name: AnalyticsEventName,
params: AnalyticsEventParams,
}
#[derive(Serialize)]
#[derive(Debug, Serialize)]
struct AnalyticsPayload {
client_id: String,
timestamp_micros: u128,
@ -77,6 +77,7 @@ pub async fn send_analytics_event(event_name: AnalyticsEventName, unique_name: &
let url = format!("https://www.google-analytics.com/mp/collect?measurement_id={MEASUREMENT_ID}&api_secret={api_key}");
let client = Client::new();
let payload = AnalyticsPayload::new(&event_name, unique_name);
debug!("Sending {:?}", payload);
let resp = client.post(url).json(&payload).send().await?;
if resp.status().is_success() {
debug!(

View File

@ -53,3 +53,9 @@ pub fn generate_cli_pkg_build() -> Result<()> {
write!(file, "{}", pkgbuild)?;
Ok(())
}
pub fn print_version() -> Result<()> {
let version = get_pkg_version(include_str!("../../owmods_cli/Cargo.toml"));
println!("{}", version);
Ok(())
}

View File

@ -1,7 +1,7 @@
use std::path::PathBuf;
use anyhow::Result;
use cli_tasks::{generate_cli_pkg_build, generate_completions, generate_man_files};
use cli_tasks::{generate_cli_pkg_build, generate_completions, generate_man_files, print_version};
use gui_tasks::generate_gui_pkg_build;
use regex::RegexBuilder;
@ -39,6 +39,7 @@ fn main() -> Result<()> {
}
"cli_pkg_build" => generate_cli_pkg_build()?,
"gui_pkg_build" => generate_gui_pkg_build()?,
"cli_version" => print_version()?,
_ => panic!("Invalid Command: {cmd}"),
}
Ok(())