Skip to content

Commit

Permalink
chore: Prepare justfile for release
Browse files Browse the repository at this point in the history
  • Loading branch information
gmpinder committed Apr 22, 2024
1 parent 71a3bda commit c599138
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 49 deletions.
3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ edition = "2021"
repository = "https://github.com/blue-build/cli"
license = "Apache-2.0"
categories = ["command-line-utilities"]
version = "0.8.3"

[workspace.dependencies]
anyhow = "1"
Expand Down Expand Up @@ -36,8 +37,8 @@ module_name_repetitions = "allow"
[package]
name = "blue-build"
build = "build.rs"
version = "0.8.3"

version.workspace = true
edition.workspace = true
description.workspace = true
repository.workspace = true
Expand Down
58 changes: 13 additions & 45 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,26 @@
export RUST_BACKTRACE := "1"

set dotenv-load := true
set shell := ["bash", "-cu"]
set shell := ["bash", "-xeu", "-o", "pipefail", "-c"]
set positional-arguments := true

# default recipe to display help information
default:
@just --list

# release: remove the dev suffix, like going from 0.X.0-dev to 0.X.0
# --workspace: updating all crates in the workspace
# --no-publish: do not publish to crates.io
# --execute: not a dry run
# --no-tag: do not push tag for each new version
# --no-push: do not push the update commits
# --dependent-version upgrade: change 0.X.0-dev in internal dependencies to 0.X.0
# --exclude: ignore those packages
cargo-release *args:
#!/usr/bin/env bash
set -euo pipefail
cargo release release -v \
# release: Run cargo release and push the tag separately
release *args:
# --workspace: updating all crates in the workspace
# --no-tag: do not push tag for each new version
# --no-confirm: don't look for user input, just run the command
# --execute: not a dry run
cargo release $1 -v \
--workspace \
--no-publish \
--no-tag \
--no-confirm \
--no-push \
--dependent-version upgrade "$@"

# See @cargo-release for meaning of cargo-release arguments
cargo-post-release *args:
#!/usr/bin/env bash
set -euo pipefail
# Read the current version from Cargo.toml
current_version=$(cargo metadata --format-version 1 --no-deps | \
jq --raw-output '.packages | .[] | select(.name == "blue-build").version')

echo "Current Version: $current_version"

# Sanity check: current version should be 0.X.Y
if ! grep -q '^0\.[0-9]\+\.[0-9]\+$' <<< "${current_version}"; then
echo "Invalid version (not in 0.X.Y format): ${current_version}"
exit 1
fi

minor_version=$(sed 's/^0\.\([0-9]\+\).*/\1/' <<< "${current_version}")
next_version=0.$((minor_version + 1)).0-dev
echo "Bumping version to ${next_version}"
--execute

# See @cargo-release for meaning of these arguments
cargo release -v "${next_version}" \
--workspace \
--no-publish \
--no-tag \
--no-confirm \
--no-push "$@"
VERSION=$(cargo metadata --format-version 1 | jq -r '.packages[] | select(.name == "blue-build") .version')
echo "Pushing tag: v${VERSION}"
git tag "v${VERSION}"
git push origin "v${VERSION}"
2 changes: 1 addition & 1 deletion recipe/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "blue-build-recipe"
version = "0.8.3"
version.workspace = true
edition.workspace = true
description.workspace = true
repository.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion template/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "blue-build-template"
version = "0.8.3"
version.workspace = true
edition.workspace = true
description.workspace = true
repository.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion utils/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "blue-build-utils"
version = "0.8.3"
version.workspace = true
edition.workspace = true
description.workspace = true
repository.workspace = true
Expand Down

0 comments on commit c599138

Please sign in to comment.