Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: metrics generation workflow #1481

Merged
merged 9 commits into from
Apr 4, 2024
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.
Jump to
Jump to file
Failed to load files.
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
SachinSahu431 marked this conversation as resolved.
Show resolved Hide resolved

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 "action@github.com"
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
SachinSahu431 marked this conversation as resolved.
Show resolved Hide resolved