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

percona: restructure releases according to upstream release policy #309953

Merged
merged 4 commits into from
May 16, 2024

Conversation

osnyx
Copy link
Contributor

@osnyx osnyx commented May 7, 2024

Description of changes

In accordance to the upstream release cycle, we now provide 2 flavours
of the percona mysql ecosystem. The default is the LTS variant,
additionally there is now the floating percona-server_innovation
always pointing to the most recent regular release.

During the current NixOS stable release, we pledge to update and backport the Percona innovation releases to avoid them becoming EOL during the lifetime of the NixOS release.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

This release belongs to the "innovation" release track of Percona,
making it likely to diverge over time from the LTS release. Hence I just
created a separate packaging expression for this.
@osnyx
Copy link
Contributor Author

osnyx commented May 7, 2024

/cc @orivej as the Oracle mysql maintainer, maybe this move is interesting to you because of the same release cycle?

osnyx added 3 commits May 8, 2024 00:40
This is likely to diverge from the LTS xtrabackup packaging over time.
But as this package was already structured in a modular way, let's keep
the generic builder as long as it's feasible.
In accordance to the upstream release cycle, we now provide 2 flavours
of the percona mysql ecosystem. The default is the LTS variant,
additionally there is now the floating `percona-server_innovation`
always pointing to the most recent regular release.

- mentioned in release notes
- adapted all depending tests and tools (xtrabackup)
To work around the pkgs/by-name CI check, I applied the recommended structure
refactoring as documented in https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name#further-possible-refactorings
@osnyx
Copy link
Contributor Author

osnyx commented May 8, 2024

I've now also run our extended internal NixOS test against this PR, which verifies e.g. that xtrabackup works.

@@ -960,6 +960,8 @@ mapAliases ({
pdf2xml = throw "'pdf2xml' was removed: abandoned for years."; # Added 2023-10-22
peach = asouldocs; # Added 2022-08-28
pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23
percona-server_8_0 = percona-server_lts; # Added 2024-05-07
percona-xtrabackup_8_0 = percona-xtrabackup_lts; # Added 2024-05-07
Copy link
Member

@Ma27 Ma27 May 16, 2024

Choose a reason for hiding this comment

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

This seems a little dangerous: when we bump lts to 8.4, we'll must not forget to fix this, otherwise people will end up with percon 8.4 even though their config "says" 8.0.
Assuming we get this into 24.05, we should prepare a follow-up PR that replaces the aliases with a throw that will go into master after branchoff.

I think this is OK to go into 24.05 given that this isn't a breaking change (with the compat aliases). We should replace the aliases with a throw after branchoff on master though.

Copy link
Contributor Author

@osnyx osnyx May 16, 2024

Choose a reason for hiding this comment

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

Yes, the main question is whether we want to keep version-specific aliases for specific LTS versions.
I've seen that for Oracle MySQL there are currently two LTS versions supported in parallel, 8.0 and 8.4. Let's see how Percona might handle this, then we might even turn the aliasing around, package both 8_0 and 8_4 in parallel, and let percona_lts be the alias to one of them that stays stable throughout a release cycle.

@Ma27 Ma27 merged commit d5f3974 into NixOS:master May 16, 2024
28 checks passed
@Ma27 Ma27 deleted the PL-132430-percona-innovation branch May 16, 2024 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants