-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: metrics generation workflow (#1481)
* Scripts to check new Go version Signed-off-by: Sachin Sahu <[email protected]> * Changes to test workflow Signed-off-by: Sachin Sahu <[email protected]> * Update workflow to run based on Go release cycle Signed-off-by: Sachin Sahu <[email protected]> * Revert deleted files for testing workflow Signed-off-by: Sachin Sahu <[email protected]> * Revert deleted file for testing workflow Signed-off-by: Sachin Sahu <[email protected]> * Fix linting issue Signed-off-by: Sachin Sahu <[email protected]> * Update cron schedule to per month Signed-off-by: Sachin Sahu <[email protected]> * Update bash file Signed-off-by: Sachin Sahu <[email protected]> * Keep latest 3 Go versions in supported_go_versions Signed-off-by: Sachin Sahu <[email protected]> --------- Signed-off-by: Sachin Sahu <[email protected]> Signed-off-by: Sachin Sahu <[email protected]>
- Loading branch information
1 parent
e3bea8a
commit 76fa980
Showing
3 changed files
with
57 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|