diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 850566e..b31e1d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,6 +39,13 @@ jobs: - name: Run Tests run: cargo +stable test --locked + - name: Check CLI Version + shell: bash + run: | + expected="why $(cargo +stable metadata --locked --no-deps --format-version 1 | python3 -c 'import json, sys; print(json.load(sys.stdin)["packages"][0]["version"])')" + actual="$(cargo +stable run --locked -- --version)" + test "$actual" = "$expected" + e2e: runs-on: ubuntu-latest timeout-minutes: 15 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7b1e81d..ba7ae16 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,6 +57,16 @@ jobs: with: save-if: "false" + - name: Verify Release Version + shell: bash + run: | + crate_version="$(cargo +stable metadata --locked --no-deps --format-version 1 | python3 -c 'import json, sys; print(json.load(sys.stdin)["packages"][0]["version"])')" + tag_version="${GITHUB_REF_NAME#v}" + if [ "$crate_version" != "$tag_version" ]; then + echo "Release tag v${tag_version} does not match Cargo.toml version ${crate_version}" >&2 + exit 1 + fi + - name: Install Cross-compiler (Linux ARM64 only) if: matrix.install_cross != '' run: ${{ matrix.install_cross }} diff --git a/Cargo.lock b/Cargo.lock index 17bb6dc..b7acc09 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -165,7 +165,7 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "why-cli" -version = "0.1.0" +version = "0.3.0" dependencies = [ "clap", ] diff --git a/Cargo.toml b/Cargo.toml index d3bb503..0799292 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "why-cli" -version = "0.1.0" +version = "0.3.0" edition = "2024" authors = ["akira ueno"] description = "Tells you why a command is installed on your system." diff --git a/nix/package.nix b/nix/package.nix index dd7b202..9c1ac24 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -5,7 +5,7 @@ rustPlatform.buildRustPackage { pname = "why-cli"; - version = "0.1.0"; + version = (builtins.fromTOML (builtins.readFile ../Cargo.toml)).package.version; src = lib.cleanSource ../.; cargoLock.lockFile = ../Cargo.lock;