Skip to content

Instantly share code, notes, and snippets.

@seunghwanly
Created March 3, 2023 08:51
Show Gist options
  • Save seunghwanly/31a913934dd7cfe44bec528dd7d878fe to your computer and use it in GitHub Desktop.
Save seunghwanly/31a913934dd7cfe44bec528dd7d878fe to your computer and use it in GitHub Desktop.
Use date based versioning with format of "yymmdd$tried", and restrict the build number in 8 characters
#!/usr/bin/env bats
date_based_version=$(date +%y%m%d)
# $args1 equals to LATEST_BUILD_NUMBER
# $args2 equals to DATE_BASED_BUILD_NUMBER
get_build_number() {
latest_build_number=$1
build_number_len="${#latest_build_number}"
if [[ $build_number_len -gt 8 ]]; then
updated_build_number=$2
else
if [[ $2 -gt $1 ]]; then
updated_build_number=$2
else
updated_build_number=$(($1 + 1))
fi
fi
echo $((updated_build_number))
}
@test "Date based version returned" {
local latest_build_number=2023030201
local updated_build_number=$(get_build_number $latest_build_number $date_based_version)
[ $updated_build_number -eq $date_based_version ]
}
@test "Latest version + 1 returned" {
local latest_build_number=23030402
local updated_build_number=$(get_build_number $latest_build_number $date_based_version)
[ $updated_build_number -eq $(($latest_build_number + 1)) ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment