Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/.github/workflows/scripts/common.sh

41 lines
1.3 KiB

#!/usr/bin/env bash
set -exo pipefail
# This generates a new file where the yaml node is updated.
# The problem is that yq strips new lines when you update the file.
# So we use a workaround from https://github.com/mikefarah/yq/issues/515 which:
# generates the new file, diffs it with the original, removes all non-whitespace changes, and applies that to the original file.
update_yaml_node() {
local filename=$1
local yaml_node=$2
local new_value=$3
patch "${filename}" <<<"$(diff -U0 -w -b --ignore-blank-lines "${filename}" <(yq eval "${yaml_node} = \"${new_value}\"" "${filename}"))"
}
get_yaml_node() {
local filename=$1
local yaml_node=$2
yq "${yaml_node}" "${filename}"
}
# Increments the part of the semver string
# $1: version itself
# $2: number of part: 0 – major, 1 – minor, 2 – patch
# shellcheck disable=SC2207,SC2046,SC2248,SC2250
increment_semver() {
local delimiter=.
local array=($(echo "$1" | tr $delimiter '\n'))
array[$2]=$((array[$2]+1))
echo $(local IFS=$delimiter ; echo "${array[*]}")
}
# Sets the patch segment of a semver to 0
# $1: version itself
# shellcheck disable=SC2207,SC2046,SC2248,SC2250
set_semver_patch_to_zero() {
local delimiter=.
local array=($(echo "$1" | tr $delimiter '\n'))
array[2]="0"
echo $(local IFS=$delimiter ; echo "${array[*]}")
}