feat: metrics generation workflow (#1481)
* Scripts to check new Go version Signed-off-by: Sachin Sahu <sachinksahu.431@gmail.com> * Changes to test workflow Signed-off-by: Sachin Sahu <sachinksahu.431@gmail.com> * Update workflow to run based on Go release cycle Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> * Revert deleted files for testing workflow Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> * Revert deleted file for testing workflow Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> * Fix linting issue Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> * Update cron schedule to per month Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> * Update bash file Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> * Keep latest 3 Go versions in supported_go_versions Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com> --------- Signed-off-by: Sachin Sahu <sachinksahu.431@gmail.com> Signed-off-by: Sachin Sahu <75629410+SachinSahu431@users.noreply.github.com>
This commit is contained in:
parent
e3bea8af78
commit
76fa980794
|
@ -0,0 +1,33 @@
|
||||||
|
---
|
||||||
|
name: Generate Metric files for new Go version
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 1 * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-go-versions:
|
||||||
|
name: Update Go Versions and Generate Tests
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Execute bash script
|
||||||
|
run: bash update-go-version.bash
|
||||||
|
|
||||||
|
# If there are no changes (i.e. no diff exists with the checked-out base branch),
|
||||||
|
# no pull request will be created and the action exits silently.
|
||||||
|
- name: Create a Pull Request
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
|
uses: peter-evans/create-pull-request@v6
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
commit-message: "Update Go Collector metrics for new Go version"
|
||||||
|
title: "chore: Update metrics for new Go version"
|
||||||
|
branch: update-metrics-for-new-go-version
|
||||||
|
base: main
|
||||||
|
draft: false
|
||||||
|
delete-branch: true
|
3
Makefile
3
Makefile
|
@ -22,8 +22,7 @@ test-short: deps common-test-short
|
||||||
|
|
||||||
.PHONY: generate-go-collector-test-files
|
.PHONY: generate-go-collector-test-files
|
||||||
file := supported_go_versions.txt
|
file := supported_go_versions.txt
|
||||||
# take top 3 versions
|
VERSIONS := $(shell cat ${file})
|
||||||
VERSIONS := $(shell cat ${file} | head -n 3)
|
|
||||||
generate-go-collector-test-files:
|
generate-go-collector-test-files:
|
||||||
for GO_VERSION in $(VERSIONS); do \
|
for GO_VERSION in $(VERSIONS); do \
|
||||||
docker run \
|
docker run \
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
get_latest_versions() {
|
||||||
|
curl -s https://go.dev/VERSION?m=text | sed -E -n 's/go([0-9]+\.[0-9]+|\.[0-9]+).*/\1/p'
|
||||||
|
}
|
||||||
|
|
||||||
|
current_version=$(cat supported_go_versions.txt | head -n 1)
|
||||||
|
latest_version=$(get_latest_versions)
|
||||||
|
|
||||||
|
# Check for new version of Go, and generate go collector test files
|
||||||
|
# Add new Go version to supported_go_versions.txt, and remove the oldest version
|
||||||
|
if [[ ! $current_version =~ $latest_version ]]; then
|
||||||
|
echo "New Go version available: $latest_version"
|
||||||
|
echo "Updating supported_go_versions.txt and generating Go Collector test files"
|
||||||
|
sed -i "1i $latest_version" supported_go_versions.txt
|
||||||
|
sed -i '$d' supported_go_versions.txt
|
||||||
|
make generate-go-collector-test-files
|
||||||
|
else
|
||||||
|
echo "No new Go version detected. Current Go version is: $current_version"
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue