Skip to content

Conversation

@nogueiraanderson
Copy link
Contributor

@nogueiraanderson nogueiraanderson commented Jan 19, 2026

Summary

  • Migrate check_mysql_repo job from REL to PS80
  • Replace gen_csv_diff.sh with mysql_commit_report.py
  • Add AI analysis parameter (disabled by default)
  • Notify both #mysql and #eol-dev Slack channels with link to CSV artifacts

Changes

File Action
ps/jenkins/check_mysql_repo.groovy Created - main pipeline
ps/jenkins/check_mysql_repo.yml Created - JJB config
ps/scripts/mysql_commit_report.py Created - commit report generator
rel/jenkins/check_mysql_repo.groovy Deleted

Parameters

Parameter Default Description
ENABLE_AI_ANALYSIS false Enable LLM analysis (env var fallback)
LLM_MODEL gemini-2.0-flash Model for AI analysis

Testing

Jira: https://perconadev.atlassian.net/browse/PKG-1228

Migrate MySQL tag monitoring job with improvements:
- Move pipeline from rel/jenkins to ps/jenkins
- Add mysql_commit_report.py to ps/scripts/ (from private mysql-eol-dev)
- Post notifications to both #mysql and #eol-dev Slack channels
- Add MySQL 9.x series monitoring (9.0, 9.1, 9.2)
- Use filtered git clone for faster execution (~100MB vs 1.5GB)
- Add CSV output validation
- Add JJB YAML configuration
- Add AI analysis parameters with env var fallback (disabled by default)

Related: PKG-1228
Copy link
Contributor

@VarunNagaraju VarunNagaraju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @nogueiraanderson,

The slack message from the job to the #eol-dev and #mysql channels looks good.
Could you please address the following review comments?

Cheers,
Varun

sh 'mkdir -p csv_output'

// Define version patterns to track
def versionPatterns = ['mysql-5.7', 'mysql-8.0', 'mysql-8.4', 'mysql-9.0', 'mysql-9.1', 'mysql-9.2']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MySQL 5.7 is already EOL and upstream hasn't published any new mysql-5.7 tags in 2 years. So, we don't need this versionPattern.
Also, we just need mysql-8.0 and mysql-8.4 patterns for now since we're providing post-EOL support to 5.7 and 8.0 we'll be backporting fixes identified in mysql-8.0 to our 5.7 versions and mysql-8.4 to 8.0 versions.
So, please remove the rest and keep only mysql-8.0 and mysql-8.4.

python3 ps/scripts/mysql_commit_report.py \
-i mysql-server-repo \
-o csv_output \
-g \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have an option in the job similar to AI analysis for -g with the name generate-per-component-csv and pass the option -g only when that boolean option is enabled?
The option should be disabled/set to false by default.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use curl or another mechanism to download this script as part of the Jenkins job instead of duplicating it across two repositories? Duplicating the script means any bug fixes would need to be made in multiple places, increasing the risk of inconsistencies.

)
string(
name: 'LLM_MODEL',
defaultValue: 'gemini-2.0-flash',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default value should be gemini-3-pro.


// AI analysis: parameter takes precedence, then env var
def enableAI = params.ENABLE_AI_ANALYSIS ?: (env.ENABLE_AI_ANALYSIS == 'true')
def llmModel = params.LLM_MODEL ?: env.LLM_MODEL ?: 'gemini-2.0-flash'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default value should be gemini-3-pro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants