From 2838e494d6a2073550543951ccdf1075c6ea33cc Mon Sep 17 00:00:00 2001 From: syui Date: Sat, 14 Jun 2025 17:12:04 +0900 Subject: [PATCH] Update version to 0.1.3 and simplify version output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update Cargo.toml version to 0.1.3 - Custom version flag implementation to output version only - Update GitHub Actions to handle simplified version output - Update Gitea Actions (action.yml) for version handling - Now `ailog -V` or `ailog --version` outputs just "0.1.3" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/gh-pages-fast.yml | 4 ++-- Cargo.toml | 2 +- action.yml | 6 +++--- src/main.rs | 21 ++++++++++++++++++--- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.github/workflows/gh-pages-fast.yml b/.github/workflows/gh-pages-fast.yml index b64ade9..88dae73 100644 --- a/.github/workflows/gh-pages-fast.yml +++ b/.github/workflows/gh-pages-fast.yml @@ -35,7 +35,7 @@ jobs: # Check current binary version if exists mkdir -p ./bin if [ -f "./bin/ailog" ]; then - CURRENT_VERSION=$(./bin/ailog --version | awk '{print $2}' || echo "unknown") + CURRENT_VERSION=$(./bin/ailog --version 2>/dev/null || echo "unknown") echo "Current version: $CURRENT_VERSION" else CURRENT_VERSION="none" @@ -49,7 +49,7 @@ jobs: https://github.com/${{ github.repository }}/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf - mv ailog ./bin/ailog chmod +x ./bin/ailog - echo "Updated to version: $(./bin/ailog --version)" + echo "Updated to version: $(./bin/ailog --version 2>/dev/null)" else echo "Binary is up to date" chmod +x ./bin/ailog diff --git a/Cargo.toml b/Cargo.toml index 967ebfd..a0b1d8c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ailog" -version = "0.1.0" +version = "0.1.3" edition = "2021" authors = ["syui"] description = "A static blog generator with AI features" diff --git a/action.yml b/action.yml index cb4eb9a..566e722 100644 --- a/action.yml +++ b/action.yml @@ -69,7 +69,7 @@ runs: # Check current binary version if exists mkdir -p ./bin if [ -f "./bin/ailog" ]; then - CURRENT_VERSION=$(./bin/ailog --version | awk '{print $2}' 2>/dev/null || echo "unknown") + CURRENT_VERSION=$(./bin/ailog --version 2>/dev/null || echo "unknown") echo "Current version: $CURRENT_VERSION" else CURRENT_VERSION="none" @@ -83,13 +83,13 @@ runs: if curl -sL https://github.com/syui/ailog/releases/download/$LATEST_VERSION/ailog-linux-x86_64.tar.gz | tar -xzf - 2>/dev/null; then mv ailog ./bin/ailog chmod +x ./bin/ailog - echo "Downloaded binary: $(./bin/ailog --version)" + echo "Downloaded binary: $(./bin/ailog --version 2>/dev/null)" else echo "Download failed, building from source..." if command -v cargo >/dev/null 2>&1; then cargo build --release cp ./target/release/ailog ./bin/ailog - echo "Built from source: $(./bin/ailog --version)" + echo "Built from source: $(./bin/ailog --version 2>/dev/null)" else echo "Error: Neither download nor cargo build available" exit 1 diff --git a/src/main.rs b/src/main.rs index bf891b1..71db211 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,10 +18,14 @@ mod mcp; #[derive(Parser)] #[command(name = "ailog")] #[command(about = "A static blog generator with AI features")] -#[command(version)] +#[command(disable_version_flag = true)] struct Cli { + /// Print version information + #[arg(short = 'V', long = "version")] + version: bool, + #[command(subcommand)] - command: Commands, + command: Option, } #[derive(Subcommand)] @@ -135,8 +139,19 @@ enum OauthCommands { #[tokio::main] async fn main() -> Result<()> { let cli = Cli::parse(); + + // Handle version flag + if cli.version { + println!("{}", env!("CARGO_PKG_VERSION")); + return Ok(()); + } + + // Require subcommand if no version flag + let command = cli.command.ok_or_else(|| { + anyhow::anyhow!("No subcommand provided. Use --help for usage information.") + })?; - match cli.command { + match command { Commands::Init { path } => { commands::init::execute(path).await?; }