Skip to content

chore(mysql): upgrade CI and local docker to MySQL 8.4 - #179

Merged
smarcet merged 1 commit into
mainfrom
chore/mysql-8.4
Oct 21, 2026
Merged

smarcet merged 1 commit into
mainfrom
chore/mysql-8.4

Conversation

@smarcet

@smarcet smarcet commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

ref: https://app.clickup.com/t/9014802374/86bc4fgv6

Summary

Upgrade MySQL from 8.0 to 8.4 (LTS) in GitHub Actions and in the local docker stack.

  • push.yml, pull_request_unit_tests.yml, nightly_unit_tests.yml and l5-swagger-generate.yml: the mysql service now uses mysql:8.4.
  • docker-compose.yml: db now uses mysql:8.4.
  • docker-compose.yml: MySQL 8.4 removed --default-authentication-plugin (the server refuses to start with it) and disables mysql_native_password by default, so the command now passes --mysql-native-password=ON instead.

Notes

  • Existing local volumes were initialized by 8.0; if the container fails to start with an old volume, recreate it (this wipes local data).

Tests

  • Booted mysql:8.4 with the exact flags from docker-compose.yml: server reports 8.4.x and accepts connections.
  • CI unit-test jobs on this PR run against the 8.4 service.

Bump the mysql service images in the GitHub workflows and
docker-compose.yml from 8.0 to 8.4. MySQL 8.4 removed
--default-authentication-plugin and disables mysql_native_password by
default, so the local compose command now uses --mysql-native-password=ON.
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ec1e8322-b480-4131-8462-8de73193b948
📥 Commits

Reviewing files that changed from the base of the PR and between 4b28901 and d2a8bda.

📒 Files selected for processing: 5
  • .github/workflows/l5-swagger-generate.yml
  • .github/workflows/nightly_unit_tests.yml
  • .github/workflows/pull_request_unit_tests.yml
  • .github/workflows/push.yml
  • docker-compose.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

CI workflows and the Docker Compose database service now use MySQL 8.4. The Compose startup command uses a new native password option and retains the primary-key requirement.

Changes: MySQL Version and Configuration

Layer / File(s) Summary
Update MySQL service configuration
.github/workflows/l5-swagger-generate.yml, .github/workflows/nightly_unit_tests.yml, .github/workflows/pull_request_unit_tests.yml, .github/workflows/push.yml, docker-compose.yml
The four CI workflows and the Compose database service now use MySQL 8.4. The Compose command uses --mysql-native-password=ON and retains --sql-require-primary-key=ON.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to d2a8b

No actionable merge-blocking risk was identified in the MySQL 8.4 configuration updates.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: upgrading MySQL to 8.4 in CI and the local Docker setup.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (5 skipped: 5 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

📘 OpenAPI / Swagger preview

➡️ https://OpenStackweb.github.io/openstackid/openapi/pr-179/

This page is automatically updated on each push to this PR.

@smarcet smarcet self-assigned this Oct 21, 2026
@smarcet
smarcet requested review from romanetar and a balanced review from Copilot October 21, 2026 18:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The configuration changes are consistent with the upgrade, with no blocking issues identified.

No open issues 🎉

What changed in this PR

Upgrades CI and the local Docker stack to MySQL 8.4 LTS.

Changes:

  • Updates MySQL images from 8.0 to 8.4 across four workflows and Docker Compose.
  • Replaces the removed authentication flag with --mysql-native-password=ON locally.
File Description
docker-compose.yml Upgrades MySQL and replaces the authentication flag.
.github/​workflows/​push.yml Uses MySQL 8.4 for push CI.
.github/​workflows/​pull_request_unit_tests.yml Uses MySQL 8.4 for PR tests.
.github/​workflows/​nightly_unit_tests.yml Uses MySQL 8.4 for nightly tests.
.github/​workflows/​l5-swagger-generate.yml Uses MySQL 8.4 for Swagger generation.

Review effort: Balanced

@romanetar romanetar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@smarcet
smarcet merged commit 50a2871 into main Oct 21, 2026
10 checks passed
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.

3 participants