From 0389a7307997c542adf36f74da92e513f2615c8a Mon Sep 17 00:00:00 2001 From: Toni Kangas Date: Mon, 23 Oct 2023 15:07:37 +0300 Subject: [PATCH 1/5] chore: add script to automatically update version in user-agent --- .github/workflows/user-agent.yml | 16 ++++++++++++++++ scripts/update-user-agent-version.sh | 15 +++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .github/workflows/user-agent.yml create mode 100755 scripts/update-user-agent-version.sh diff --git a/.github/workflows/user-agent.yml b/.github/workflows/user-agent.yml new file mode 100644 index 00000000..732de384 --- /dev/null +++ b/.github/workflows/user-agent.yml @@ -0,0 +1,16 @@ +name: Lint +on: + pull_request: + paths: + - CHANGELOG.md +jobs: + update_user_agent: + name: Check version in User-Agent + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: ./scripts/update-user-agent-version.sh + - uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "chore: update version in `User-Agent`" + file_pattern: upcloud/client/client.go diff --git a/scripts/update-user-agent-version.sh b/scripts/update-user-agent-version.sh new file mode 100755 index 00000000..915b1991 --- /dev/null +++ b/scripts/update-user-agent-version.sh @@ -0,0 +1,15 @@ +#!/bin/sh -x + +version_re="[0-9]+\.[0-9]+\.[0-9]+" + +changelog=$(grep -E -m 1 "##.*$version_re.*" CHANGELOG.md | grep -Eo "$version_re"); +user_agent=$(grep -E -m 1 "Version.*$version_re.*" upcloud/client/client.go | grep -Eo "$version_re") + +if [ "$changelog" = "$user_agent" ]; then + exit 0; +fi; + +latest=$(echo -e "$changelog\n$user_agent" | sort -V | tail -n1) + +sed -Ei "s/(##.*)$changelog(.*)/\1$latest\2/" CHANGELOG.md; +sed -Ei "s/(.*Version.*\")$user_agent(\".*)/\1$latest\2/" upcloud/client/client.go; From 1bfb94ad893a86712c982e9c7cfbfaff6c84f800 Mon Sep 17 00:00:00 2001 From: Toni Kangas Date: Mon, 23 Oct 2023 15:14:39 +0300 Subject: [PATCH 2/5] chore: prepare 6.8.2 release --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6f8d662..c23c7539 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable changes to this project will be documented in this file. See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] +## [6.8.2] ### Added - account: `NetworkPeerings`, `NTPExcessGiB`, `StorageMaxIOPS`, and `LoadBalancers` fields to the `ResourceLimits` struct. From 13d35a8e3e2da3f0a8f1fc10b25c566bcbb0cc89 Mon Sep 17 00:00:00 2001 From: Toni Kangas Date: Mon, 23 Oct 2023 15:22:36 +0300 Subject: [PATCH 3/5] fix: use echo without `-e`, update RELEASING.md --- RELEASING.md | 2 +- scripts/update-user-agent-version.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 4f168ba9..3a4795bd 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -6,7 +6,7 @@ 1. Add new heading with the correct version e.g. `## [6.7.0]` 2. Update links at the bottom of the page 3. Leave `## Unreleased` section at the top empty -4. Update `Version` in [upcloud/client/client.go](./upcloud/client/client.go) + 4. Check that `Version` in [upcloud/client/client.go](./upcloud/client/client.go) is up-to-date. The value is automatically updated by GitHub Actions. 5. Test GoReleaser config with `goreleaser check` 6. Tag a commit with the version you want to release e.g. `v6.7.0` 7. Push the tag & commit to GitHub diff --git a/scripts/update-user-agent-version.sh b/scripts/update-user-agent-version.sh index 915b1991..71e9dca2 100755 --- a/scripts/update-user-agent-version.sh +++ b/scripts/update-user-agent-version.sh @@ -9,7 +9,7 @@ if [ "$changelog" = "$user_agent" ]; then exit 0; fi; -latest=$(echo -e "$changelog\n$user_agent" | sort -V | tail -n1) +latest=$(echo "$changelog\n$user_agent" | sort -V | tail -n1) sed -Ei "s/(##.*)$changelog(.*)/\1$latest\2/" CHANGELOG.md; sed -Ei "s/(.*Version.*\")$user_agent(\".*)/\1$latest\2/" upcloud/client/client.go; From 426c580d7cb1243e0c6b8b882f9a9ff4dd819465 Mon Sep 17 00:00:00 2001 From: kangasta Date: Mon, 23 Oct 2023 12:23:59 +0000 Subject: [PATCH 4/5] chore: update version in `User-Agent` --- upcloud/client/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upcloud/client/client.go b/upcloud/client/client.go index e948c18d..edc14f07 100644 --- a/upcloud/client/client.go +++ b/upcloud/client/client.go @@ -15,7 +15,7 @@ import ( ) const ( - Version string = "6.8.1" + Version string = "6.8.2" APIVersion string = "1.3" APIBaseURL string = "https://api.upcloud.com" From 506a8bf3c32964c9ababf21359c55d8121477a99 Mon Sep 17 00:00:00 2001 From: Toni Kangas Date: Mon, 23 Oct 2023 15:34:11 +0300 Subject: [PATCH 5/5] chore: add note about script usage --- scripts/update-user-agent-version.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/update-user-agent-version.sh b/scripts/update-user-agent-version.sh index 71e9dca2..b8e3d592 100755 --- a/scripts/update-user-agent-version.sh +++ b/scripts/update-user-agent-version.sh @@ -1,4 +1,5 @@ #!/bin/sh -x +# This script should work on Ubuntu sh. On other systems (e.g., alpine or macOS) there might be differences in echo and sed commands that can cause unexpected changes. version_re="[0-9]+\.[0-9]+\.[0-9]+"