|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +set -euo pipefail |
| 4 | + |
| 5 | +usage() { |
| 6 | + echo "Usage: $0 <next-beta-core> <next-stable-core> [<next-contrib>]" |
| 7 | + echo " <next-beta-core>: Next version of the unstable core components (e.g. v0.120.0). Get it from https://github.com/open-telemetry/opentelemetry-collector/releases." |
| 8 | + echo " <next-stable-core>: Next stable version of the stable core components (e.g. v1.26.0). Get it from https://github.com/open-telemetry/opentelemetry-collector/releases." |
| 9 | + echo " <next-contrib>: Next version of the contrib components (e.g. v0.120.1). Get it from https://github.com/open-telemetry/opentelemetry-collector-contrib/releases. If not specified, <next-beta-core> is used." |
| 10 | + echo |
| 11 | + exit 1 |
| 12 | +} |
| 13 | +next_beta_core=${1:-} |
| 14 | +[[ -n "$next_beta_core" ]] || (echo "Error: missing <next-beta-core>" && echo && usage) |
| 15 | + |
| 16 | +next_stable_core=${2:-} |
| 17 | +[[ -n "$next_stable_core" ]] || (echo "Error: missing <next-stable-core>" && echo && usage) |
| 18 | + |
| 19 | +next_contrib=${3:-$next_beta_core} |
| 20 | + |
| 21 | +# Get current versions from go.mod |
| 22 | +current_beta_core=$(grep 'go\.opentelemetry\.io/collector/receiver/otlpreceiver ' go.mod | cut -d' ' -f 2 || true) |
| 23 | +current_stable_core=$(grep 'go\.opentelemetry\.io/collector/confmap/provider/fileprovider ' go.mod | cut -d' ' -f 2 || true) |
| 24 | +current_contrib=$(grep 'github\.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver ' go.mod | cut -d' ' -f 2 || true) |
| 25 | + |
| 26 | +[[ -n "$current_beta_core" ]] || (echo "Error: couldn't find current beta core version." && exit 2) |
| 27 | +[[ -n "$current_stable_core" ]] || (echo "Error: couldn't find current stable core version" && exit 3) |
| 28 | +[[ -n "$current_contrib" ]] || (echo "Error: couldn't find current contrib version" && exit 4) |
| 29 | + |
| 30 | +echo "=> Updating core from $current_beta_core/$current_stable_core to $next_beta_core/$next_stable_core" |
| 31 | +echo "=> Updating contrib from $current_contrib to $next_contrib" |
| 32 | + |
| 33 | +sed -i.bak "s/\(go\.opentelemetry\.io\/collector.*\) $current_beta_core/\1 $next_beta_core/" go.mod |
| 34 | +sed -i.bak "s/\(go\.opentelemetry\.io\/collector.*\) $current_stable_core/\1 $next_stable_core/" go.mod |
| 35 | +sed -i.bak "s/\(github\.com\/open-telemetry\/opentelemetry\-collector\-contrib\/.*\) $current_contrib/\1 $next_contrib/" go.mod |
| 36 | +rm go.mod.bak |
| 37 | + |
| 38 | +echo "=> Running go mod tidy" |
| 39 | +go mod tidy |
| 40 | +echo "=> Running mage notice" |
| 41 | +mage notice |
| 42 | +echo "=> Running mage otel:readme" |
| 43 | +mage otel:readme |
| 44 | + |
| 45 | +echo "=> Creating changelog fragment" |
| 46 | +changelog_fragment_name="update-otel-components-to-$next_contrib" |
| 47 | +elastic-agent-changelog-tool new "$changelog_fragment_name" |
| 48 | +sed -i.bak "s/^kind:.*$/kind: enhancement/" ./changelog/fragments/*-"${changelog_fragment_name}".yaml |
| 49 | +sed -i.bak "s/^summary:.*$/summary: Update OTel components to ${next_contrib}/" ./changelog/fragments/*-"${changelog_fragment_name}".yaml |
| 50 | +sed -i.bak "s/^component:.*$/component: elastic-agent/" ./changelog/fragments/*-"${changelog_fragment_name}".yaml |
| 51 | +rm ./changelog/fragments/*-"${changelog_fragment_name}".yaml.bak |
0 commit comments