Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .github/workflows/update-go-versions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Weekly Go Version Check and Metric Generation

on:
schedule:
- cron: "0 0 * * 0" # Every Sunday at midnight UTC

workflow_dispatch:

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 check-go-version.bash

- name: Commit and push changes
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add .
git commit -m "Update Go Collector metrics for new Go versions"
git push
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "Update Go Collector metrics for new Go versions"
title: "Update Go Collector metrics for new Go versions"
body: |
This pull request updates the list of supported Go versions and generates new Go Collector metrics
branch: "main"
base: "main"
196 changes: 0 additions & 196 deletions prometheus/collectors/go_collector_go122_test.go

This file was deleted.

93 changes: 0 additions & 93 deletions prometheus/go_collector_metrics_go122_test.go

This file was deleted.

4 changes: 2 additions & 2 deletions supported_go_versions.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
1.22
1.21
1.20
1.20
1.19
21 changes: 21 additions & 0 deletions update-go-version.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/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
# New Go version gets appended at top of supported_go_versions.txt, and only top 3 versions are supported
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
make generate-go-collector-test-files
else
echo "No new Go version detected. Current Go version is: $current_version"
fi